.restaurant-detail-page{min-height:100vh;background:linear-gradient(to bottom,var(--cream) 0%,var(--white) 50%)}.breadcrumb-section{background:var(--white);border-bottom:1px solid var(--border);padding:var(--space-4) 0}.breadcrumb{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--slate)}.breadcrumb a{color:var(--coral);transition:color var(--transition-fast)}.breadcrumb a:hover{color:var(--coral-dark)}.breadcrumb .separator{color:var(--khaki)}.breadcrumb .current{color:var(--charcoal);font-weight:var(--font-medium)}.restaurant-hero{position:relative;overflow:hidden}.restaurant-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#0a1628d9,#0a1628b3),linear-gradient(45deg,rgba(255,255,255,.03) 25%,transparent 25%,transparent 75%,rgba(255,255,255,.03) 75%),linear-gradient(45deg,rgba(255,255,255,.03) 25%,transparent 25%,transparent 75%,rgba(255,255,255,.03) 75%);background-size:100% 100%,60px 60px,60px 60px;background-position:0 0,0 0,30px 30px}.restaurant-hero .container{position:relative;z-index:2}.restaurant-hero .back-link{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--charcoal);font-weight:var(--font-medium);margin-bottom:var(--space-4);transition:all var(--transition-fast);font-size:var(--text-sm)}.restaurant-hero .back-link:hover{color:var(--navy);gap:var(--space-3)}.restaurant-hero-content{position:relative;z-index:1;max-width:700px}.restaurant-type-badge{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);background:var(--card);border:1px solid var(--border);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--navy);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-2)}.restaurant-hero h1{font-size:var(--text-4xl);font-weight:var(--font-bold);margin-bottom:var(--space-2);line-height:var(--leading-tight)}.restaurant-tagline{font-size:var(--text-lg);font-style:italic;color:var(--charcoal);margin-bottom:var(--space-1);font-weight:var(--font-light)}.restaurant-cuisine{font-size:var(--text-base);color:var(--slate);margin-bottom:var(--space-4)}.restaurant-quick-facts{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center}.quick-fact{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);background:var(--card);border-radius:var(--radius-lg);color:var(--navy);font-size:var(--text-sm);font-weight:var(--font-medium)}.quick-fact.reservation-required{background:var(--gold);color:var(--navy)}.restaurant-menu-cta{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-5)}.price-badge{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:var(--coral);border-radius:var(--radius-lg);color:var(--white);font-size:var(--text-base);font-weight:var(--font-bold)}.price-badge .price-label{font-size:var(--text-xs);font-weight:var(--font-normal);color:#ffffffe6}.restaurant-main{padding:var(--space-12) 0}.restaurant-layout{display:grid;grid-template-columns:1fr 350px;gap:var(--space-8);align-items:start}.content-card{background:var(--white);border-radius:var(--radius-2xl);padding:var(--space-8);box-shadow:var(--shadow-md);margin-bottom:var(--space-6);transition:all var(--transition-base)}.content-card:hover{box-shadow:var(--shadow-lg)}.content-card h2{font-size:var(--text-2xl);color:var(--navy);margin-bottom:var(--space-4);display:flex;align-items:center;gap:var(--space-2)}.content-card h2 svg{color:var(--coral)}.restaurant-description{font-size:var(--text-lg);line-height:var(--leading-relaxed);color:var(--charcoal)}.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4);margin-bottom:var(--space-6)}.photo-placeholder{aspect-ratio:4/3;background:linear-gradient(135deg,var(--sand) 0%,var(--stone) 100%);border:2px dashed var(--border);border-radius:var(--radius-xl);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);color:var(--slate);transition:all var(--transition-base)}.photo-placeholder:hover{border-color:var(--coral);background:linear-gradient(135deg,var(--cream) 0%,var(--sand) 100%)}.photo-placeholder.large{grid-column:span 2;grid-row:span 2}.photo-placeholder svg{width:32px;height:32px;opacity:.5}.photo-placeholder span{font-size:var(--text-xs);font-weight:var(--font-medium);text-transform:uppercase;letter-spacing:.05em}.photo-item{aspect-ratio:4/3;border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-sm)}.photo-item img{width:100%;height:100%;object-fit:cover;display:block}.photo-item.large{grid-column:span 2;grid-row:span 2}.details-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-6)}.detail-item h4{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--slate);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-2)}.detail-item p{font-size:var(--text-base);color:var(--charcoal);font-weight:var(--font-medium)}.detail-item.highlight{grid-column:1 / -1;padding:var(--space-4);background:linear-gradient(135deg,#d4a85326,#d4a8530d);border-radius:var(--radius-lg);border-left:4px solid var(--gold)}.detail-item.highlight h4{color:var(--charcoal)}.sidebar-card.price-card{background:linear-gradient(135deg,var(--coral) 0%,var(--coral-dark) 100%)!important;color:var(--white)!important;border:none}.sidebar-card.price-card h3{color:var(--white)!important}.sidebar-card.price-card h3 svg{color:var(--white)!important}.sidebar-card.price-card .price-display{text-align:center;padding:var(--space-6) 0}.sidebar-card.price-card .price-amount{font-size:var(--text-4xl);font-weight:var(--font-bold);display:block;margin-bottom:var(--space-2);color:var(--white)}.sidebar-card.price-card .price-note{font-size:var(--text-base);color:#ffffffe6;color:var(--white)}.sidebar-card.price-card p{color:var(--white)!important}.highlights-card h2{display:flex;align-items:center;gap:var(--space-2)}.highlights-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-3)}.highlight-item{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:linear-gradient(135deg,var(--cream) 0%,var(--white) 100%);border-radius:var(--radius-lg);font-size:var(--text-base);color:var(--charcoal);line-height:var(--leading-relaxed);border:1px solid var(--sand)}.highlight-icon{flex-shrink:0;color:var(--gold-ink);margin-top:2px}.dishes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--space-4)}.dish-card{padding:var(--space-4);background:linear-gradient(135deg,rgba(212,168,83,.1) 0%,var(--white) 100%);border-radius:var(--radius-lg);border:1px solid var(--gold);text-align:center;transition:all var(--transition-base)}.dish-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #d4a85333;background:linear-gradient(135deg,rgba(212,168,83,.15) 0%,var(--white) 100%)}.dish-name{font-weight:var(--font-semibold);color:var(--charcoal);font-size:var(--text-sm)}.atmosphere-quote{font-size:var(--text-lg);font-style:italic;color:var(--charcoal);line-height:var(--leading-relaxed);padding:var(--space-6);background:linear-gradient(135deg,var(--cream) 0%,var(--white) 100%);border-radius:var(--radius-lg);border-left:4px solid var(--coral);margin:0}.expect-card h2{display:flex;align-items:center;gap:var(--space-2)}.expect-text{font-size:var(--text-lg);color:var(--charcoal);line-height:var(--leading-relaxed);padding:var(--space-4);background:var(--cream);border-radius:var(--radius-lg);border:1px solid var(--sand)}.best-for-card h2{display:flex;align-items:center;gap:var(--space-2)}.best-for-text{font-size:var(--text-lg);color:var(--charcoal);line-height:var(--leading-relaxed)}.pro-tips-featured{background:linear-gradient(135deg,var(--navy) 0%,var(--navy-lighter) 100%)!important;border:none!important}.pro-tips-featured h2{display:flex;align-items:center;gap:var(--space-2);color:var(--white)!important}.pro-tips-featured h2 svg{color:var(--gold)!important}.pro-tips-intro{color:#fffc;font-size:var(--text-base);margin-bottom:var(--space-6);font-style:italic}.pro-tips-featured .pro-tips-list{display:flex;flex-direction:column;gap:var(--space-4)}.pro-tips-featured .pro-tip-item{display:flex;align-items:flex-start;gap:var(--space-4);padding:var(--space-4);background:#ffffff1a;border-radius:var(--radius-lg);border:1px solid rgba(255,255,255,.15)}.pro-tips-featured .pro-tip-number{flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--gold);color:var(--navy);font-weight:var(--font-bold);font-size:var(--text-base);border-radius:var(--radius-full)}.pro-tips-featured .pro-tip-item p{margin:0;font-size:var(--text-base);color:var(--white);line-height:var(--leading-relaxed)}.insider-badge-inline{display:inline-block;margin-left:var(--space-2);padding:2px var(--space-2);background:var(--gold);color:var(--navy);font-size:var(--text-xs);font-weight:var(--font-semibold);border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.03em;vertical-align:middle}.insider-tips-card h2{display:flex;align-items:center;gap:var(--space-2)}.insider-tips-card h2 svg{color:var(--gold)}.tips-grid{display:grid;gap:var(--space-4)}.tips-grid .tip-card{padding:var(--space-5);background:var(--cream);border-radius:var(--radius-lg);border-left:3px solid var(--coral);transition:all var(--transition-base)}.tips-grid .tip-card:hover{transform:translate(4px);border-left-color:var(--gold);background:#d4a8531a}.tips-grid .tip-card h4{font-size:var(--text-base);color:var(--navy);margin-bottom:var(--space-2)}.tips-grid .tip-card p{font-size:var(--text-sm);color:var(--charcoal);line-height:var(--leading-relaxed)}.insider-badge{display:inline-block;margin-top:var(--space-2);padding:var(--space-1) var(--space-2);background:var(--gold);color:var(--navy);font-size:var(--text-xs);font-weight:var(--font-semibold);border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.05em}.know-before-you-go{background:linear-gradient(135deg,var(--cream) 0%,var(--white) 100%);border:2px solid var(--sand)}.know-items{display:flex;flex-direction:column;gap:var(--space-6)}.know-item{display:flex;gap:var(--space-4)}.know-icon{flex-shrink:0;color:var(--coral);margin-top:var(--space-1)}.know-item h4{font-size:var(--text-lg);color:var(--navy);margin-bottom:var(--space-2)}.know-item p{font-size:var(--text-base);color:var(--charcoal);line-height:var(--leading-relaxed)}.restaurant-sidebar{position:sticky;top:calc(var(--space-20) + 60px)}.sidebar-card{background:var(--white);border-radius:var(--radius-xl);padding:var(--space-6);box-shadow:var(--shadow-md);margin-bottom:var(--space-6)}.sidebar-card h3{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-lg);color:var(--navy);margin-bottom:var(--space-4)}.ships-list{display:flex;flex-direction:column;gap:var(--space-2)}.ship-link{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);background:var(--cream);border-radius:var(--radius-lg);transition:all var(--transition-base)}.ship-link:hover{background:var(--sand);transform:translate(4px)}.ship-name{font-weight:var(--font-medium);color:var(--navy)}.ship-arrow{color:var(--coral);transition:transform var(--transition-base)}.ship-link:hover .ship-arrow{transform:translate(4px)}.restaurant-not-found{min-height:70vh;display:flex;align-items:center;justify-content:center;text-align:center}.restaurant-not-found h2{font-size:var(--text-3xl);color:var(--navy);margin-bottom:var(--space-4)}.restaurant-not-found p{font-size:var(--text-lg);color:var(--slate);margin-bottom:var(--space-8)}@media(max-width:1024px){.restaurant-layout{grid-template-columns:1fr}.restaurant-sidebar{position:static}.details-grid{grid-template-columns:1fr}.photo-grid{grid-template-columns:repeat(2,1fr)}.photo-placeholder.large,.photo-item.large{grid-column:span 2;grid-row:span 1}}@media(max-width:768px){.restaurant-hero{min-height:280px;padding:var(--space-6) 0}.restaurant-hero h1{font-size:var(--text-2xl)}.restaurant-tagline{font-size:var(--text-base)}.restaurant-cuisine{font-size:var(--text-sm)}.content-card{padding:var(--space-6)}.photo-grid{grid-template-columns:1fr}.photo-placeholder.large,.photo-item.large{grid-column:span 1}}@media(max-width:640px){.restaurant-hero{min-height:240px}.restaurant-quick-facts{gap:var(--space-2)}.quick-fact,.price-badge{font-size:var(--text-xs);padding:var(--space-1) var(--space-2)}}
