/* BITHOMES_V33_5_5_PUBLIC_COMMERCE_CHROME_DIAL_RESPONSIVE_CLOSURE */
:root{--v355-blue:#245787;--v355-border:#dbe3ef;--v355-danger:#b91c1c}
.head{background:var(--p,#245787);color:#fff;padding:1rem 1.5rem}.head .inner,.main,.foot-inner,.pv33-main,.v355-public-main{width:min(1120px,calc(100% - 2rem));max-width:1120px;margin-inline:auto}.head .inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem}.head .brand{display:flex;align-items:center;gap:.65rem}.head .brand img{max-height:52px;max-width:180px;object-fit:contain}.head .nav{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap}.head .nav a{color:#fff;text-decoration:none}.head .menu{display:none}.foot{background:#0f172a;color:#fff;margin-top:3rem;padding:2rem 1rem}.v355-cart-link{display:inline-flex!important;align-items:center;gap:.35rem;border:1px solid rgba(255,255,255,.45);border-radius:.5rem;padding:.4rem .65rem}.v355-cart-link span{display:inline-grid;place-items:center;min-width:1.35rem;height:1.35rem;border-radius:999px;background:#fff;color:var(--p,#245787);font-weight:800}
.v355-product-commerce-actions,.v355-actions{display:flex;flex-wrap:wrap;gap:.55rem;align-items:center;margin-top:.75rem}.v355-product-commerce-actions form{margin:0}.v355-product-commerce-actions button,.v355-product-commerce-actions a{width:auto!important;min-width:0!important;white-space:nowrap}.v355-cart-item{display:grid;grid-template-columns:110px 1fr;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--v355-border)}.v355-cart-item>img{width:110px;height:90px;object-fit:contain;border-radius:.5rem}.v355-cart-item form{display:flex;gap:.5rem;align-items:end;flex-wrap:wrap}.v355-danger{background:var(--v355-danger)!important}.v355-cart-totals{margin-left:auto;width:min(320px,100%);padding:1rem;background:#f8fafc;border-radius:.6rem}
.v355-checkout-card{max-width:980px;margin-inline:auto}.v355-order-summary{padding:1rem;border:1px solid var(--v355-border);border-radius:.65rem;background:#f8fafc;margin-bottom:1rem}.v355-checkout-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.v355-field{display:flex;flex-direction:column;gap:.3rem;min-width:0}.v355-field input,.v355-field textarea,.v355-field select{width:100%;max-width:100%;min-width:0}.v355-field textarea{min-height:7rem}.v355-required,.v355-error{color:#c1121f}.v355-error{display:block}.v355-address-options,.v355-consents{display:grid;gap:.6rem;margin:1rem 0}.v355-address-options label,.v355-consents label{display:flex;gap:.5rem;align-items:flex-start}.v355-address-options input,.v355-consents input{width:auto;flex:none}.v355-voice-notice{padding:.75rem;border:1px solid #93c5fd;background:#eff6ff;border-radius:.5rem}.v355-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.v355-custom-field-row{display:grid;grid-template-columns:2fr 1.3fr 1fr auto auto;gap:.5rem;align-items:center;margin:.55rem 0}.v355-admin-required-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem}.v355-admin-required-grid label{display:flex;gap:.4rem;align-items:center}.v355-admin-required-grid input{width:auto}.v355-booking-publication-admin #public-booking-subjects button,.v355-booking-publication-admin button[name*="subject"],.v355-booking-publication-admin form[action*="subjects"] button{width:auto!important;max-width:max-content!important;min-width:8rem!important;justify-self:start!important;padding:.55rem 1rem!important}
.v355-operation-phone-layout label:has(>input[name*="contact_phone" i]),.v355-operation-phone-layout label:has([name*="contact_phone" i]){grid-column:span 2;min-width:20rem}.v355-operation-phone-layout [name*="contact_phone" i]{min-width:13rem!important;width:100%!important}.v355-operation-phone-layout label:has([name*="contact_phone" i])>div,.v355-operation-phone-layout [data-phone-field]:has([name*="contact_phone" i]){display:grid!important;grid-template-columns:minmax(9rem,12rem) minmax(13rem,1fr) auto!important;gap:.4rem!important;align-items:end!important}.v355-operation-phone-layout label:has([name*="latitude" i]){margin-left:.5rem}
.v355-booking-page form [name="telephone"],.v355-food-page form [name="telephone"]{min-width:13rem!important;width:100%!important}.v355-booking-page form label:has([name="telephone"]),.v355-food-page form label:has([name="telephone"]){grid-column:1/-1!important;max-width:100%!important;overflow:visible!important}.v355-booking-page form label:has([name="telephone"])>div,.v355-food-page form label:has([name="telephone"])>div{display:grid!important;grid-template-columns:minmax(9rem,12rem) minmax(13rem,1fr) auto!important;gap:.4rem!important;width:100%!important;max-width:100%!important}.v355-booking-page form [class*="voice"],.v355-food-page form [class*="voice"]{max-width:100%}.v355-booking-page form button[aria-label*="voice" i],.v355-food-page form button[aria-label*="voice" i]{position:static!important;transform:none!important}
.v348-news-card>img,.v348-suggestion-card>img,.v355-news-image{display:block;width:100%;height:180px;object-fit:cover;border-radius:.65rem .65rem 0 0}.v348-item-card,.v348-news-card{background:var(--v348-card,var(--v348-news-card,#fff));border:1px solid var(--v348-border,var(--v348-news-border,#dbe3ef));transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease,background .24s ease;overflow:hidden}.v348-item-card:hover,.v348-news-card:hover{background:var(--v348-hover,var(--v348-news-hover,#eff6ff));border-color:var(--v348-hover-border,var(--v348-news-hover-border,#2563eb));box-shadow:0 14px 32px color-mix(in srgb,var(--v348-shadow,var(--v348-news-shadow,#94a3b8)) 48%,transparent);transform:translateY(-4px)}
.v355-animate{opacity:0;animation-duration:.65s;animation-fill-mode:both;animation-delay:var(--v348-delay,0ms)}.v355-animation-fade-up,.v355-animation-slide-up{animation-name:v355FadeUp}.v355-animation-fade-in{animation-name:v355FadeIn}.v355-animation-zoom-in{animation-name:v355Zoom}.v355-animation-water-drop,.v355-animation-water-drop-sequence{animation-name:v355Drop}.v355-animation-rain,.v355-animation-raining{animation-name:v355Rain}.v355-animation-balloon,.v355-animation-balloon-float-in{animation-name:v355Balloon}.v355-animation-bounce,.v355-animation-balloon-ground-bounce{animation-name:v355Bounce}@keyframes v355FadeUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}@keyframes v355FadeIn{from{opacity:0}to{opacity:1}}@keyframes v355Zoom{from{opacity:0;transform:scale(.92)}to{opacity:1;transform:none}}@keyframes v355Drop{0%{opacity:0;transform:translateY(-50px) scale(.9)}70%{opacity:1;transform:translateY(8px) scale(1.02)}100%{opacity:1;transform:none}}@keyframes v355Rain{0%{opacity:0;transform:translateY(-80px)}100%{opacity:1;transform:none}}@keyframes v355Balloon{0%{opacity:0;transform:translateY(70px) scale(.85)}100%{opacity:1;transform:none}}@keyframes v355Bounce{0%{opacity:0;transform:translateY(-80px)}55%{opacity:1;transform:translateY(12px)}72%{transform:translateY(-9px)}86%{transform:translateY(4px)}100%{opacity:1;transform:none}}
.v355-dial-hidden{display:none!important}
@media(max-width:900px){.v355-checkout-grid{grid-template-columns:1fr}.v355-admin-required-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.v355-operation-phone-layout label:has([name*="contact_phone" i]){grid-column:1/-1;min-width:0}.v355-operation-phone-layout label:has([name*="contact_phone" i])>div{grid-template-columns:1fr!important}.v355-operation-phone-layout label:has([name*="latitude" i]){margin-left:0}}
@media(max-width:720px){.head{padding:.75rem}.head .inner,.pv33-main,.v355-public-main{width:min(100% - 1rem,1120px)}.head .menu{display:block!important}.head .nav{display:flex!important;flex-basis:100%;flex-direction:column;align-items:stretch;gap:0;max-height:0;overflow:hidden;opacity:0;pointer-events:none}.head .nav.open{max-height:60rem;opacity:1;pointer-events:auto;padding-top:.5rem}.head .nav a{padding:.65rem .25rem}.v355-cart-item{grid-template-columns:80px 1fr}.v355-cart-item>img{width:80px;height:70px}.v355-custom-field-row{grid-template-columns:1fr}.v355-admin-required-grid{grid-template-columns:1fr}.v355-food-page form [class*="search"],.v355-food-page form:has(input[type="search"]){max-width:100%!important}.v355-food-page form:has(input[type="search"]){display:grid!important;grid-template-columns:1fr!important;gap:.5rem!important}.v355-food-page form:has(input[type="search"])>*{width:100%!important;min-width:0!important;max-width:100%!important}.v355-booking-page form label:has([name="telephone"])>div,.v355-food-page form label:has([name="telephone"])>div{grid-template-columns:1fr!important}.v355-product-commerce-actions{align-items:stretch}.v355-product-commerce-actions>*{flex:1 1 100%}.v355-product-commerce-actions button,.v355-product-commerce-actions a{width:100%!important;text-align:center}.v348-news-card>img,.v348-suggestion-card>img{height:150px}}
@media(prefers-reduced-motion:reduce){.v355-animate{animation:none!important;opacity:1!important}.v348-item-card,.v348-news-card{transition:none!important}}

/* BITHOMES_V33_5_5_2_FOCUSED_FORM_AND_PUBLIC_UI_REPAIR */
.v355-product-commerce-actions [data-bithomes-voice-dictation],
.v355-product-commerce-actions .bithomes-local-voice-dictation,
.v355-product-commerce-actions details:has(summary),
.v355-product-commerce-actions p:has(+ button){max-width:100%}
.v355-product-commerce-actions form[data-bithomes-voice-dictation-ignore]{display:inline-flex;align-items:center}

/* Keep the public product-checkout configuration inside page content and before the footer. */
#shopping-checkout-form-v355{margin-top:1rem;margin-bottom:1.5rem}

/* Exact Website Engine phone layouts. Country selector, number input and microphone stay in the card. */
.v355-food-page .order-box,
.v355-food-page .order-box form,
.v355-food-page .order-box .field-grid,
.v355-booking-page .form-card,
.v355-booking-page .form-card form,
.v355-booking-page .form-card .form-grid{min-width:0!important;max-width:100%!important;box-sizing:border-box!important}
.v355-food-page .order-box label.field:has(input[name="telephone"]),
.v355-booking-page .form-card label:has(input[name="telephone"]){grid-column:1/-1!important;width:100%!important;min-width:0!important;max-width:100%!important;overflow:visible!important}
.v355-food-page .order-box label.field:has(input[name="telephone"])>div,
.v355-booking-page .form-card label:has(input[name="telephone"])>div{display:grid!important;grid-template-columns:minmax(7.5rem,10.5rem) minmax(0,1fr) auto!important;gap:.4rem!important;width:100%!important;min-width:0!important;max-width:100%!important;align-items:end!important;box-sizing:border-box!important}
.v355-food-page .order-box input[name="telephone"],
.v355-booking-page .form-card input[name="telephone"]{width:100%!important;min-width:0!important;max-width:100%!important;box-sizing:border-box!important}
.v355-food-page .order-box label.field:has(input[name="telephone"]) button,
.v355-booking-page .form-card label:has(input[name="telephone"]) button{position:static!important;transform:none!important;inset:auto!important;flex:none!important}

/* Admin telephone/mobile widgets: reserve enough grid width and never overlap the next field. */
.v355-admin-phone-layout label:has(input[type="tel"]),
.v355-admin-phone-layout label:has(input[name*="telephone" i]),
.v355-admin-phone-layout label:has(input[name*="mobile" i]),
.v355-admin-phone-layout label:has(input[name*="contact_phone" i]),
.v355-admin-phone-layout label:has(input[name*="support_phone" i]){grid-column:span 2!important;min-width:18rem!important;max-width:100%!important;overflow:visible!important;box-sizing:border-box!important}
.v355-admin-phone-layout label:has(input[type="tel"])>div,
.v355-admin-phone-layout label:has(input[name*="telephone" i])>div,
.v355-admin-phone-layout label:has(input[name*="mobile" i])>div,
.v355-admin-phone-layout label:has(input[name*="contact_phone" i])>div,
.v355-admin-phone-layout label:has(input[name*="support_phone" i])>div{display:grid!important;grid-template-columns:minmax(7.5rem,10.5rem) minmax(8.5rem,1fr) auto!important;gap:.35rem!important;width:100%!important;min-width:0!important;max-width:100%!important;align-items:end!important;box-sizing:border-box!important}
.v355-admin-phone-layout input[type="tel"],
.v355-admin-phone-layout input[name*="telephone" i],
.v355-admin-phone-layout input[name*="mobile" i],
.v355-admin-phone-layout input[name*="contact_phone" i],
.v355-admin-phone-layout input[name*="support_phone" i]{width:100%!important;min-width:0!important;max-width:100%!important;box-sizing:border-box!important}
.v355-operation-phone-layout label:has([name*="latitude" i]){margin-left:0!important}

/* Public article and suggestion cards always honor their saved gradient, border, shadow and animation. */
.v348-news-card,.v348-suggestion-card,.v348-item-card{background:var(--v348-card,var(--v348-news-card,#fff))!important;border-color:var(--v348-border,var(--v348-news-border,#dbe3ef))!important}
.v348-news-card:hover,.v348-suggestion-card:hover,.v348-item-card:hover{background:var(--v348-hover,var(--v348-news-hover,#eff6ff))!important;border-color:var(--v348-hover-border,var(--v348-news-hover-border,#2563eb))!important}
.v348-news-card>h2,.v348-news-card>h3,.v348-news-card>p,.v348-news-card>.pv33-meta,.v348-news-card>.pv33-counts,.v348-news-card>.pv33-button,
.v348-suggestion-card>.v348-suggestion-body,.v348-item-card>h3,.v348-item-card>p,.v348-item-card>small{margin-left:.85rem;margin-right:.85rem}
.v348-news-card>.pv33-button{display:inline-flex;margin-bottom:.85rem}

/* Booking-publication subject actions use normal button dimensions. */
.v355-booking-publication-admin form button,
.v355-booking-publication-admin button[type="submit"],
.v355-booking-publication-admin button[type="button"]{width:auto!important;min-width:0!important;max-width:max-content!important;padding:.5rem .85rem!important;justify-self:start!important}

@media(max-width:900px){
 .v355-admin-phone-layout label:has(input[type="tel"]),
 .v355-admin-phone-layout label:has(input[name*="telephone" i]),
 .v355-admin-phone-layout label:has(input[name*="mobile" i]),
 .v355-admin-phone-layout label:has(input[name*="contact_phone" i]),
 .v355-admin-phone-layout label:has(input[name*="support_phone" i]){grid-column:1/-1!important;min-width:0!important}
}
@media(max-width:720px){
 .v355-food-page .order-box label.field:has(input[name="telephone"])>div,
 .v355-booking-page .form-card label:has(input[name="telephone"])>div,
 .v355-admin-phone-layout label:has(input[type="tel"])>div,
 .v355-admin-phone-layout label:has(input[name*="telephone" i])>div,
 .v355-admin-phone-layout label:has(input[name*="mobile" i])>div,
 .v355-admin-phone-layout label:has(input[name*="contact_phone" i])>div,
 .v355-admin-phone-layout label:has(input[name*="support_phone" i])>div{grid-template-columns:1fr!important}
 .head .menu{display:inline-flex!important;align-items:center;justify-content:center;position:relative;z-index:3}
 .head .nav.open{display:flex!important;visibility:visible!important;max-height:60rem!important;opacity:1!important;pointer-events:auto!important;transform:none!important}
}

/* BITHOMES_V33_5_5_4_GLOBAL_REGRESSION_CLOSURE */
/* Keep public Food telephone country, number and microphone inside the order card. */
.v355-food-page .order-box label.field:has(input[name="telephone"]){display:flex!important;flex-direction:column!important;grid-column:1/-1!important;width:100%!important;min-width:0!important;max-width:100%!important;overflow:hidden!important}
.v355-food-page .order-box label.field:has(input[name="telephone"])>div{display:grid!important;grid-template-columns:minmax(5.75rem,7rem) minmax(0,1fr) auto!important;gap:.3rem!important;width:100%!important;min-width:0!important;max-width:100%!important;overflow:hidden!important;box-sizing:border-box!important}
.v355-food-page .order-box label.field:has(input[name="telephone"])>div>*{min-width:0!important;max-width:100%!important;box-sizing:border-box!important}
.v355-food-page .order-box label.field:has(input[name="telephone"]) input[name="telephone"]{width:100%!important;min-width:0!important;max-width:100%!important}
.v355-food-page .order-box label.field:has(input[name="telephone"]) button{position:static!important;inset:auto!important;transform:none!important;max-width:2.6rem!important}
/* Restored operation selectors remain contained and cannot overlap latitude or the next grid field. */
.v355-operation-phone-layout label:has(input[name*="contact_phone" i]){grid-column:span 2!important;min-width:0!important;max-width:100%!important;overflow:hidden!important}
.v355-operation-phone-layout label:has(input[name*="contact_phone" i])>div{display:grid!important;grid-template-columns:minmax(5.75rem,8rem) minmax(0,1fr) auto!important;gap:.3rem!important;width:100%!important;min-width:0!important;max-width:100%!important;overflow:hidden!important}
.v355-operation-phone-layout label:has(input[name*="contact_phone" i])>div>*{min-width:0!important;max-width:100%!important;box-sizing:border-box!important}
.v355-operation-phone-layout label:has(input[name*="latitude" i]){min-width:0!important;margin-left:0!important}
/* Checkout form settings stay in the same canonical main-content inset as Shopping page design. */
main>#shopping-checkout-form-v355{width:100%!important;max-width:100%!important;margin:1rem 0 1.5rem!important;box-sizing:border-box!important}
@media(max-width:720px){.v355-food-page .order-box label.field:has(input[name="telephone"])>div,.v355-operation-phone-layout label:has(input[name*="contact_phone" i])>div{grid-template-columns:1fr!important;overflow:visible!important}.v355-food-page .order-box label.field:has(input[name="telephone"]) button{max-width:none!important;width:100%!important}}
