/* Theme 3's editorial patisserie language across interior pages, ordering and WooCommerce. */
:root{
  --ink:#251813;--brand:#9d332b;--brand-hover:#74241f;--brand-ink:#fffaf1;
  --peach:#e6a08e;--rose:#e6a08e;--rose-deep:#9d332b;--gold:#b98b50;
  --cream:#f5efe5;--paper:#fffaf1;--line:rgba(37,24,19,.16);
}
body{color:var(--ink);background:var(--cream);font-family:'DM Sans',Arial,sans-serif}
h1,h2,h3{font-family:'Playfair Display',Georgia,serif;color:var(--ink);letter-spacing:-.04em}
header{background:rgba(245,239,229,.97);border-bottom:1px solid rgba(37,24,19,.08);backdrop-filter:blur(10px)}
header .navlinks a:not(.nav-cta){position:relative;padding:6px 12px;margin:-6px -12px;border-radius:4px;transition:color .16s ease,background-color .16s ease,box-shadow .16s ease,opacity .16s ease}
header .navlinks a:not(.nav-cta):hover,header .navlinks a:not(.nav-cta):focus-visible{color:var(--brand-hover);opacity:1;background:rgba(157,51,43,.13);box-shadow:inset 0 -2px 0 var(--brand);text-decoration:none}
header .nav-cta{border:1px solid var(--brand);border-radius:3px;background:var(--brand);color:var(--brand-ink);font-weight:700;transition:background .16s ease,border-color .16s ease,transform .16s ease}
header .nav-cta:hover,header .nav-cta:focus-visible{border-color:var(--brand-hover);background:var(--brand-hover);color:#fff;transform:translateY(-1px)}
.content-page,.menu-page,.gallery-page,.intro,.ready-order-product-page,.woocommerce-page{background:var(--cream)}
.content-page,.menu-page,.gallery-page,.intro,.ready-order-product-page{color:var(--ink)}
.content-page h1,.menu-page h1,.gallery-page h1,.intro h1,.order-page h1,.ready-order-product-page h1,.woocommerce-page h1{font-size:clamp(42px,5.6vw,72px);line-height:.98;letter-spacing:-.055em}
.content-card,.form-card,.menu-card,.flavour-card,.regular-cart,.contact-card,.woocommerce ul.products li.product,.woocommerce div.product div.summary,.woocommerce .cart-collaterals .cart_totals,.woocommerce-checkout #payment,.woocommerce-checkout .woocommerce-checkout-review-order{background:var(--paper);border:1px solid var(--line);box-shadow:0 12px 34px rgba(37,24,19,.055)}
.content-card{border-radius:2px}.menu-card,.flavour-card{transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.menu-card:hover,.flavour-card:hover{transform:translateY(-3px);border-color:rgba(157,51,43,.34);box-shadow:0 16px 32px rgba(37,24,19,.11)}
.order-page{background:#e8dccb}
.order-copy{color:rgba(37,24,19,.76)}
.contact-card,.form-card{box-shadow:10px 10px 0 rgba(157,51,43,.12)}
.btn-primary,.menu-action,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit,.woocommerce a.button.alt,.woocommerce button.button.alt{border:1px solid var(--brand);border-radius:3px;background:var(--brand);color:#fffaf1;font-weight:700;transition:background .16s ease,border-color .16s ease,transform .16s ease}
.btn-primary:hover,.menu-action:hover,.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,.woocommerce #respond input#submit:hover{border-color:var(--brand-hover);background:var(--brand-hover);color:#fff;transform:translateY(-1px)}
.btn-secondary{border:1px solid var(--brand);border-radius:3px;background:transparent;color:var(--ink)}
.btn-secondary:hover{background:rgba(157,51,43,.08);border-color:var(--brand-hover)}
.field input,.field select,.field textarea,.woocommerce input.input-text,.woocommerce textarea,.woocommerce select{border-color:rgba(37,24,19,.22);border-radius:2px;background:#fffdf9;color:var(--ink)}
.field input:focus,.field select:focus,.field textarea:focus,.woocommerce input.input-text:focus,.woocommerce textarea:focus,.woocommerce select:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(157,51,43,.14)}
.woocommerce-message,.woocommerce-info,.woocommerce-error{border-top-color:var(--brand);background:var(--paper)}
.woocommerce-message::before,.woocommerce-info::before{color:var(--brand)}
footer{background:var(--ink);color:var(--paper)}
.footer-links a:hover,.footer-bottom a:hover{color:var(--peach)}
@media(max-width:760px){
  header{background:rgba(245,239,229,.98)}
  .navlinks.is-open{background:var(--paper);border:1px solid var(--line);box-shadow:0 14px 32px rgba(37,24,19,.14)}
  .navlinks a:not(.nav-cta):hover,.navlinks a:not(.nav-cta):focus-visible{background:rgba(157,51,43,.1);box-shadow:inset 3px 0 0 var(--brand)}
  .contact-card,.form-card{box-shadow:6px 6px 0 rgba(157,51,43,.1)}
}
@media(prefers-reduced-motion:reduce){.menu-card,.flavour-card,.btn-primary,.menu-action,.nav-cta{transition:none}}

/* Theme 3 custom cake carousel: warm adjacent images and keep controls in one row. */
.custom-cake-carousel{display:grid;grid-template-columns:42px minmax(0,1fr) 42px;column-gap:12px;align-items:center}
.custom-cake-carousel__heading,.custom-cake-carousel__stage{grid-column:1/-1}
.custom-cake-carousel__controls{display:contents}
.custom-cake-carousel__control[data-carousel-previous]{grid-column:1;grid-row:3}
.custom-cake-carousel__control[data-carousel-next]{grid-column:3;grid-row:3}
.custom-cake-carousel__dots{grid-column:2;grid-row:3;justify-content:center;min-height:42px;margin:0}

/* Reserve value space and position the dropdown indicator away from the right edge. */
.field select,
.woocommerce-page select {
  padding-right: 46px;
  -webkit-appearance: none;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='m4 6 4 4 4-4' stroke='%23251813' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 16px center;
  background-size: 16px 16px;
}
.menu-sort-select select { padding-right: 44px; }
.menu-sort-select .menu-sort-chevron { right: 16px; }

/* Compact header with intentional breathing room before page content. */
header{padding:4px 0}
header .brand{padding:5px 0 10px}
.cake-flavor-fixed input[readonly]{cursor:default}

/* Prevent double-tap zoom on carousel controls; retain page pinch zoom. */
.custom-cake-carousel__control{touch-action:manipulation}

@media(max-width:760px){header .navlinks a:not(.nav-cta){padding:6px 4px}}
