/* Shared Bicko action style, matching the approved header buttons. */
body :is(.button,.text-link,.reserve-circle,.rec-full,.rec-jumps a,.bicko-computer-call,.mobile-contact a,.navigation-toggle){
 background:#163b32;color:#f6f2e9!important;border:1px solid #163b32;border-radius:8px;box-shadow:0 3px 0 #bf9c65;
 font-family:inherit;font-weight:600;line-height:1.4;text-decoration:none;letter-spacing:normal;
 transition:background .2s,box-shadow .2s,transform .2s;
}
body :is(.button,.text-link,.rec-full,.rec-jumps a,.bicko-computer-call){display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:52px;padding:15px 22px;font-size:16px;max-width:100%;text-align:center;cursor:pointer}
body .reserve-circle{width:auto;height:auto;min-height:56px;padding:15px 22px;flex-direction:row;gap:12px;font-size:16px;letter-spacing:normal}
body .reserve-circle span{font-size:20px;margin:0}
body :is(.button,.text-link,.reserve-circle,.rec-full,.rec-jumps a,.bicko-computer-call,.mobile-contact a,.navigation-toggle):focus-visible{outline:3px solid #bf9c65;outline-offset:5px}
@media(hover:hover){body :is(.button,.text-link,.reserve-circle,.rec-full,.rec-jumps a,.bicko-computer-call,.mobile-contact a,.navigation-toggle):hover{background:#102c25;color:#f6f2e9;transform:translateY(-1px);box-shadow:0 4px 0 #bf9c65}}
body :is(.button,.text-link,.reserve-circle,.rec-full,.rec-jumps a,.bicko-computer-call,.mobile-contact a,.navigation-toggle):active{transform:translateY(1px);box-shadow:0 1px 0 #bf9c65}
body .button:disabled{opacity:.55;cursor:not-allowed;transform:none}
@media(max-width:760px){body .contact-top{flex-wrap:wrap}body :is(.button,.text-link,.reserve-circle,.rec-full,.rec-jumps a){min-height:48px;padding:12px 16px}}
@media(prefers-reduced-motion:reduce){body :is(.button,.text-link,.reserve-circle,.rec-full,.rec-jumps a,.bicko-computer-call,.mobile-contact a,.navigation-toggle){transition:none}}

/* Icon-only profile buttons retain accessible network names. */
body .social-buttons{display:flex;flex-wrap:wrap;gap:16px}
body .social-buttons .social-profile-button{width:64px;height:64px;min-height:64px;padding:14px;flex:0 0 64px}
.social-profile-button img{display:block;width:32px;height:32px;object-fit:contain}

/* Match the header call button and align both contact actions in one row. */
.contact-grid .contact-call-button{display:flex;flex-direction:column;justify-content:center;align-items:center;width:max-content;max-width:100%;min-height:56px;padding:10px 20px;background:var(--ink);color:var(--paper);border:1px solid var(--ink);border-radius:8px;box-shadow:0 3px 0 #bf9c65;font-size:16px;font-weight:600;line-height:1.4;text-align:center;transition:background .2s,box-shadow .2s,transform .2s}
.contact-grid .contact-call-button small{font-size:14px;white-space:nowrap}
.contact-grid .contact-call-button:focus-visible{outline:3px solid var(--gold);outline-offset:5px}
.contact-grid .contact-call-button:active{transform:translateY(1px);box-shadow:0 1px 0 #bf9c65}
@media(hover:hover) and (pointer:fine){.contact-grid .contact-call-button:hover{background:var(--deep);transform:translateY(-1px);box-shadow:0 4px 0 #bf9c65}}
@media(min-width:761px){.contact-grid>div:nth-child(-n+2){display:grid;grid-template-rows:subgrid;grid-row:span 3;align-items:start;justify-items:start}.contact-grid>div:nth-child(3){grid-column:3;grid-row:1 / span 3}.contact-grid>div:nth-child(2)>.contact-call-button{grid-row:3}.contact-grid>.address-column>.text-link{grid-row:3}.contact-grid{row-gap:0}}
@media(min-width:1600px){.contact-grid .contact-call-button{height:64px;min-height:64px;padding:10px 14px}}
@media(max-width:760px){.contact-grid .contact-call-button{padding:10px 8px}}
/* Equal-sized contact buttons across the header and contact section. */
.home-header .contact-actions .call-button,.contact-grid .contact-call-button,.contact-grid>.address-column>.text-link{width:150px;min-height:64px;height:64px;box-sizing:border-box;flex-shrink:0}
body .contact-grid>.address-column>.text-link{padding:10px 14px;line-height:1.4;white-space:normal;justify-content:center;text-align:center}
@media(max-width:760px){.home-header .contact-actions .call-button{width:100%}.contact-grid .contact-call-button,.contact-grid>.address-column>.text-link{width:150px}}

/* The lower reservation action shares the header reservation design. */
.contact .contact-reservation-button{display:inline-flex;align-items:center;justify-content:center;gap:12px;flex-shrink:0;width:224px;max-width:100%;height:64px;min-height:64px;box-sizing:border-box;padding:10px 14px;background:var(--ink);color:var(--paper);border:1px solid var(--ink);border-radius:8px;box-shadow:0 3px 0 #bf9c65;font-size:16px;font-weight:600;line-height:1.4;white-space:nowrap;transition:background .2s,box-shadow .2s,transform .2s}
.contact .contact-reservation-button svg{flex-shrink:0;color:#dbbd88}
.contact .contact-reservation-button:hover{background:var(--deep);transform:translateY(-1px);box-shadow:0 4px 0 #bf9c65}
.contact .contact-reservation-button:active{transform:translateY(1px);box-shadow:0 1px 0 #bf9c65}
.contact .contact-reservation-button:focus-visible{outline:3px solid var(--gold);outline-offset:5px}
@media(min-width:1600px){.contact .contact-reservation-button{height:64px;min-height:64px;padding:14px 16px;gap:8px}}
@media(max-width:760px){.contact .contact-reservation-button{padding:12px 8px;font-size:15px}}

/* Keep actions aligned across paired editorial cards as copy wraps. */
.editorial>article{display:flex;flex-direction:column}
.editorial>article>figure{flex-shrink:0}
.editorial>article>div{display:flex;flex-direction:column;align-items:flex-start;flex:1}
body .editorial>article>div>.text-link{margin-top:auto;min-height:64px}

/* Matching functional icons for call and navigation actions. */
.call-label{display:inline-flex;align-items:center;justify-content:center;gap:8px}
.action-icon{display:block;flex:0 0 20px;width:20px;height:20px;color:#dbbd88}
body .contact-grid>.address-column>.text-link{gap:8px;padding:10px}

/* The gallery offers the same mobile-number call action as the home page. */
.gallery-header .contact-actions .call-button{display:flex;flex-direction:column;align-items:center;justify-content:center;width:150px;min-height:64px;height:64px;padding:10px 14px;flex-shrink:0;background:var(--ink);color:var(--paper);border:1px solid var(--ink);border-radius:8px;box-shadow:0 3px 0 #bf9c65;font-size:16px;font-weight:600;line-height:1.4;text-align:center;transition:background .2s,box-shadow .2s,transform .2s}
.gallery-header .contact-actions .call-button:hover{background:var(--deep);transform:translateY(-1px);box-shadow:0 4px 0 #bf9c65}
.gallery-header .contact-actions .call-button:active{transform:translateY(1px);box-shadow:0 1px 0 #bf9c65}
.gallery-header .contact-actions .call-button:focus-visible{outline:3px solid var(--gold);outline-offset:5px}
@media(max-width:760px){.gallery-header .header-socials{grid-column:1 / -1}.gallery-header .contact-actions .call-button{width:100%;padding:10px 8px}}

/* Equal contact-action heights on menu and gallery pages. */
.gallery-header .contact-actions .reservation-button,.gallery-header .contact-actions .call-button{height:64px;min-height:64px;box-sizing:border-box;display:flex;align-items:center;justify-content:center}
.gallery-header .contact-actions .reservation-button{font-size:16px;line-height:1.4;padding:10px 16px}

/* Navigation is a primary header action, also retained beside the address. */
header .contact-actions .navigation-button{height:64px;min-height:64px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 14px;font-size:16px;line-height:1.4}
header .navigation-button .action-icon{color:#dbbd88}
@media(max-width:760px){header .contact-actions .navigation-button{grid-column:1 / -1;width:100%;height:52px;min-height:52px}}

/* Keep the lower navigation label on one line, with matching contact widths. */
body .contact-grid>.address-column>.text-link,body .contact-grid .contact-call-button{width:224px;max-width:100%;height:64px;min-height:64px}
body .contact-grid>.address-column>.text-link{white-space:nowrap;padding:10px 14px;font-size:16px;gap:8px}

/* Compact, evenly aligned final contact section. */
.contact.section{padding-top:64px;padding-bottom:42px}
.contact .contact-top{padding-bottom:28px}
.contact .contact-grid{padding-top:28px}
.contact-grid .contact-action-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:224px;max-width:100%;height:64px;min-height:64px;box-sizing:border-box;padding:10px 14px;background:var(--ink);color:var(--paper);border:1px solid var(--ink);border-radius:8px;box-shadow:0 3px 0 var(--gold);font-size:16px;font-weight:600;line-height:1.3;text-align:center;text-decoration:none;transition:background .2s,box-shadow .2s,transform .2s}
.contact-grid .business-email{border-bottom:1px solid var(--ink)}
.contact-grid .contact-to-top{margin:0}
.contact-grid .contact-action-button:focus-visible{outline:3px solid var(--gold);outline-offset:5px}
@media(hover:hover) and (pointer:fine){.contact-grid .contact-action-button:hover{background:var(--deep);color:var(--paper);border-color:var(--ink);transform:translateY(-1px);box-shadow:0 4px 0 var(--gold)}}
@media(min-width:761px){.contact-grid>div{display:flex!important;flex-direction:column;align-items:flex-start;grid-column:auto!important;grid-row:auto!important}.contact-grid>div>.contact-action-button,.contact-grid>div>.contact-call-button,.contact-grid>.address-column>.text-link{margin-top:auto}}
@media(min-width:761px){.contact-grid>.contact-top-link-column{justify-content:flex-end}}
@media(max-width:760px){.contact.section{padding-top:52px;padding-bottom:32px}.contact .contact-top{padding-bottom:22px}.contact .contact-grid{padding-top:24px}.contact-grid .contact-action-button{width:224px}}

/* Align every contact column to the same four visual rows. */
@media(min-width:761px){
 .contact-grid>div:nth-child(n){display:grid!important;grid-template-rows:24px 58px 74px 64px!important;grid-row:auto!important;grid-column:auto!important;row-gap:4px;align-items:start!important;justify-items:start}
 .contact-grid>div>.label{grid-row:1!important;margin:0}
 .contact-grid>div>h3{grid-row:2!important;margin:0}
 .contact-grid>div>p{grid-row:3!important;margin:0;transform:translateY(-22px)}
 .contact-grid>div:nth-child(1)>p,.contact-grid>div:nth-child(2)>p{transform:translateY(-26px)}
 .contact-grid>div:nth-child(3)>p{transform:translateY(-58px)}
 .contact-grid>div>a{grid-row:4!important;margin:0!important;align-self:end}
 .contact-grid>div>a.contact-landline-button{grid-row:3!important;align-self:end!important}
}
