/* =====================================================
   TOSCANEA — RESTAURANTS MODULE
===================================================== */
.restaurant-archive-hero{padding:110px 0 90px;background:linear-gradient(135deg,#efe3cf,#f8f4ec)}
.restaurant-archive-hero p{max-width:760px;color:var(--color-text-light)}
.restaurant-archive-section{padding:90px 0;background:#fff}
.restaurant-public-filters{display:grid;grid-template-columns:minmax(0,1fr) 240px 240px auto;gap:12px;margin-bottom:36px;padding:20px;border:1px solid var(--color-border);border-radius:22px;background:var(--color-bg)}
.restaurant-public-filters input,.restaurant-public-filters select{min-height:50px;padding:0 14px;border:1px solid var(--color-border);border-radius:14px;background:#fff;color:var(--color-text);font:inherit}
.restaurant-public-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}
.restaurant-card-public{overflow:hidden;border:1px solid var(--color-border);border-radius:28px;background:#fffaf2;transition:transform .3s ease,box-shadow .3s ease}
.restaurant-card-public:hover{transform:translateY(-5px);box-shadow:var(--shadow-card)}
.restaurant-card-image{display:block;height:340px;overflow:hidden;background:#d8c5a5}
.restaurant-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.restaurant-card-public:hover .restaurant-card-image img{transform:scale(1.035)}
.restaurant-card-body{padding:30px}
.restaurant-card-body h2{margin:10px 0 15px;font-size:34px}
.restaurant-card-body h2 a{text-decoration:none;color:var(--color-primary)}
.restaurant-card-body p{color:var(--color-text-light);font-size:16px}
.restaurant-location{font-weight:700}
.restaurant-public-empty{grid-column:1/-1;padding:50px;border:1px solid var(--color-border);border-radius:24px;background:var(--color-bg);text-align:center}

.restaurant-detail-hero{position:relative;min-height:72vh;display:flex;align-items:flex-end;overflow:hidden;background:var(--color-primary);color:#fff}
.restaurant-detail-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.restaurant-detail-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,18,15,.74),rgba(20,18,15,.30));z-index:1}
.restaurant-detail-hero-content{position:relative;z-index:2;padding:110px 0 70px}
.restaurant-detail-hero h1{max-width:960px;color:#fff}
.restaurant-detail-hero-content>p{max-width:760px;font-size:23px;color:#f4eadb}
.restaurant-detail-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
.restaurant-detail-main{padding:90px 0;background:#fff}
.restaurant-detail-layout{display:grid;grid-template-columns:minmax(0,1.55fr) 360px;gap:50px;align-items:start}
.restaurant-detail-layout>article>h2{margin-top:10px}
.restaurant-info-card{position:sticky;top:110px;padding:30px;border:1px solid var(--color-border);border-radius:24px;background:var(--color-bg)}
.restaurant-info-card p{padding:14px 0;margin:0;border-bottom:1px solid var(--color-border)}
.restaurant-info-card strong,.restaurant-info-card span{display:block}
.restaurant-info-card strong{margin-bottom:5px;color:var(--color-accent);font-size:11px;letter-spacing:.1em;text-transform:uppercase}
.restaurant-info-card .full-btn{margin-top:22px}
.restaurant-gallery-public{margin-top:70px}
.restaurant-section-heading h2{margin:10px 0 0}
.restaurant-gallery-public-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:24px}
.restaurant-gallery-public-grid figure{margin:0;overflow:hidden;border-radius:20px;background:#eee2d0}
.restaurant-gallery-public-grid img{width:100%;height:300px;object-fit:cover}
.restaurant-gallery-public-grid figcaption{padding:12px 15px;font-size:13px;color:var(--color-text-light)}
.restaurant-related-properties{margin-top:70px}
.restaurant-related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:24px}
.restaurant-related-grid article{padding:24px;border:1px solid var(--color-border);border-radius:20px;background:#fffaf2}
.restaurant-related-grid h3{margin:0 0 8px;font-size:24px}
.restaurant-related-grid h3 a{text-decoration:none}
.restaurant-related-grid p{color:var(--color-text-light);font-size:15px}

@media(max-width:900px){.restaurant-public-filters{grid-template-columns:1fr 1fr}.restaurant-public-grid{grid-template-columns:1fr}.restaurant-detail-layout{grid-template-columns:1fr}.restaurant-info-card{position:static}.restaurant-gallery-public-grid{grid-template-columns:1fr}.restaurant-related-grid{grid-template-columns:1fr}}
@media(max-width:620px){.restaurant-public-filters{grid-template-columns:1fr}.restaurant-card-image{height:270px}.restaurant-detail-hero{min-height:650px}.restaurant-gallery-public-grid img{height:250px}}

.restaurant-archive-hero{position:relative;min-height:68vh;display:flex;align-items:center;overflow:hidden;padding:0!important;background:var(--color-primary)!important;color:#fff}.restaurant-archive-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,18,15,.72) 0%,rgba(20,18,15,.44) 48%,rgba(20,18,15,.16) 100%);z-index:1}.restaurant-archive-hero .archive-hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}.restaurant-archive-hero .archive-hero-content{position:relative;z-index:2;padding:90px 0}.restaurant-archive-hero h1{color:#fff}.restaurant-archive-hero p,.restaurant-archive-hero .lead{color:rgba(255,255,255,.88)}.restaurant-archive-hero .eyebrow{color:#ead4ad}@media(max-width:760px){.restaurant-archive-hero{min-height:600px}.restaurant-archive-hero .archive-hero-content{padding:72px 0}}
