:root{--qc-ink:#201c18;--qc-terracotta:#a94328;--qc-terracotta-dark:#87341f;--qc-emerald:#185443;--qc-gold:#b8892e;--qc-ivory:#faf7f0;--qc-white:#fff;--qc-subtle:#f3ede2;--qc-border:#ded7ca;--qc-muted:#625f5a}
.page-id-7 .entry-title{display:none}
.qc-qurbani-booking,.qc-product-booking-intro,.qc-modal{font-family:Inter,system-ui,sans-serif;color:var(--qc-ink)}
.qc-qurbani-booking h1,.qc-qurbani-booking h2,.qc-qurbani-booking h3,.qc-product-booking-intro h2,.qc-modal h2{font-family:Fraunces,Georgia,serif}
.qc-package-hero{position:relative;overflow:hidden;padding:clamp(48px,7vw,88px) clamp(20px,5vw,64px);background:var(--qc-ivory);border:1px solid var(--qc-border);border-radius:18px}
.qc-package-hero:after{content:"";position:absolute;right:-80px;top:-110px;width:320px;height:320px;opacity:.15;background:repeating-linear-gradient(45deg,var(--qc-gold) 0 1px,transparent 1px 28px),repeating-linear-gradient(-45deg,var(--qc-gold) 0 1px,transparent 1px 28px);transform:rotate(45deg);pointer-events:none}
.qc-package-hero>*{position:relative;z-index:1;max-width:780px}.qc-eyebrow,.qc-booking-eyebrow,.qc-modal__eyebrow{text-transform:uppercase;letter-spacing:.13em;font-size:12px;font-weight:700;color:var(--qc-emerald)}
.qc-package-hero h1{font-size:clamp(38px,6vw,68px);line-height:1.02;margin:.25em 0}.qc-package-hero p:last-child{font-size:clamp(16px,2vw,19px);color:var(--qc-muted);max-width:670px}
.qc-package-section{padding:clamp(48px,7vw,84px) 0}.qc-package-section__heading{max-width:720px;margin-bottom:32px}.qc-package-section__heading h2{font-size:clamp(30px,4vw,46px);margin:.2em 0}.qc-package-section__heading p{color:var(--qc-muted)}
.qc-package-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.qc-package-option{display:flex;flex-direction:column;padding:28px;background:var(--qc-white);border:1px solid var(--qc-border);border-top:4px solid var(--qc-emerald);border-radius:14px}.qc-package-option h3{font-size:28px;margin:0 0 8px}.qc-package-price{font-family:Fraunces,Georgia,serif;font-weight:700;font-size:36px;margin:10px 0}.qc-package-price small{display:block;font:500 13px Inter,system-ui,sans-serif;color:var(--qc-muted)}
.qc-package-option dl{margin:12px 0 24px}.qc-package-option dl div{padding:12px 0;border-top:1px solid var(--qc-border)}.qc-package-option dt{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--qc-muted);font-weight:700}.qc-package-option dd{margin:4px 0 0}.qc-package-option .qc-book-button{margin-top:auto}
.qc-book-button,.woocommerce button.button.alt,.woocommerce a.button,.woocommerce button.button,.wc-block-components-button{display:inline-flex!important;align-items:center;justify-content:center;min-height:48px;padding:12px 20px!important;background:var(--qc-terracotta)!important;color:#fff!important;border:2px solid var(--qc-terracotta)!important;border-radius:6px!important;font-weight:700!important;text-decoration:none!important}.qc-book-button:hover,.woocommerce button.button.alt:hover,.woocommerce a.button:hover,.woocommerce button.button:hover{background:var(--qc-terracotta-dark)!important;border-color:var(--qc-terracotta-dark)!important}.qc-book-button:focus-visible,.qc-modal button:focus-visible,.qc-modal input:focus-visible,.woocommerce input:focus-visible,.woocommerce button:focus-visible{outline:3px solid var(--qc-gold)!important;outline-offset:3px}
.qc-booking-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;counter-reset:steps;list-style:none;margin:34px 0 0;padding:0}.qc-booking-steps li{position:relative;padding:16px 18px 16px 52px;border-top:1px solid var(--qc-border);border-bottom:1px solid var(--qc-border);counter-increment:steps}.qc-booking-steps li:before{content:counter(steps,decimal-leading-zero);position:absolute;left:10px;top:14px;color:var(--qc-terracotta);font-weight:700}.qc-booking-steps strong{display:block}.qc-booking-steps span{font-size:13px;color:var(--qc-muted)}
.qc-product-booking-intro{margin:22px 0 18px;padding:20px;border-left:4px solid var(--qc-emerald);background:var(--qc-ivory)}.qc-product-booking-intro h2{font-size:24px;margin:4px 0 8px}.qc-product-booking-intro p:last-child{margin:0;color:var(--qc-muted)}.single-product form.cart{display:flex;flex-wrap:wrap;align-items:end;gap:12px}.single-product form.cart .quantity{display:grid;gap:7px;margin:0!important}.single-product form.cart .quantity .screen-reader-text{position:static!important;width:auto!important;height:auto!important;margin:0!important;overflow:visible!important;clip:auto!important;clip-path:none!important;white-space:normal!important;font-size:13px;font-weight:700;color:var(--qc-ink)}
.woocommerce-message,.woocommerce-info{border-top-color:var(--qc-emerald)}.woocommerce-message:before,.woocommerce-info:before{color:var(--qc-emerald)}
.qc-modal[hidden]{display:none}.qc-modal{position:fixed;inset:0;z-index:999999;background:rgba(32,28,24,.76);display:grid;place-items:center;padding:20px}.qc-modal__card{position:relative;width:min(620px,100%);max-height:calc(100vh - 40px);overflow:auto;background:var(--qc-ivory);border:1px solid var(--qc-border);border-radius:16px;padding:32px;box-shadow:0 24px 70px rgba(0,0,0,.3)}.qc-modal__close{position:absolute;right:10px;top:8px;width:48px;height:48px;padding:0!important;background:transparent!important;border:0!important;color:var(--qc-ink)!important;font-size:30px}.qc-modal h2{font-size:32px;margin:4px 48px 8px 0}.qc-modal__help{color:var(--qc-muted)}.qc-selection-line{display:flex;justify-content:space-between;gap:16px;margin:20px 0;padding:14px 16px;background:#fff;border:1px solid var(--qc-border);border-radius:8px}.qc-modal label{display:block;font-weight:700;margin:16px 0}.qc-required{display:inline-block;margin-left:5px;color:#8c2018;font-size:11px;letter-spacing:.05em;text-transform:uppercase}.qc-modal input{display:block;width:100%;min-height:48px;margin-top:7px;border:1px solid var(--qc-border);border-radius:6px;padding:11px;background:#fff}.qc-modal input[aria-invalid=true]{border-color:#a72b20;box-shadow:0 0 0 1px #a72b20}.qc-field-error{display:block;margin-top:6px;color:#8c2018;font-size:13px;font-weight:600}.qc-field-error[hidden]{display:none}.qc-modal__error{padding:12px;border-left:4px solid #a72b20;background:#fff;color:#8c2018;font-weight:700}.qc-booking-summary{margin:24px 0;background:#fff;border:1px solid var(--qc-border);border-radius:10px}.qc-booking-summary>div{display:grid;grid-template-columns:1fr 1.2fr;gap:16px;padding:13px 16px;border-bottom:1px solid var(--qc-border)}.qc-booking-summary>div:last-child{border-bottom:0}.qc-booking-summary dt{color:var(--qc-muted);font-weight:600}.qc-booking-summary dd{margin:0;font-weight:700}.qc-booking-summary ul{margin:0;padding-left:18px}.qc-booking-summary__total{font-size:20px;background:var(--qc-ivory)}.qc-modal__support{font-size:14px;color:var(--qc-muted)}.qc-modal__support a{min-height:44px;display:inline-flex;align-items:center}.qc-modal__actions{position:sticky;bottom:-32px;display:grid;grid-template-columns:1fr 2fr;gap:12px;margin:24px -32px -32px;padding:18px 32px;background:var(--qc-ivory);border-top:1px solid var(--qc-border)}.qc-modal__actions .button:first-child{background:#fff!important;color:var(--qc-ink)!important;border-color:var(--qc-border)!important}.qc-modal-open{overflow:hidden}
.qc-modal h2:focus{outline:0}
@media(max-width:900px){.qc-package-grid{grid-template-columns:1fr}.qc-package-option{padding:24px}.qc-booking-steps{grid-template-columns:1fr 1fr}.qc-booking-steps li{border-bottom:0}.qc-booking-steps li:nth-last-child(-n+2){border-bottom:1px solid var(--qc-border)}}
@media(max-width:520px){.qc-package-hero{padding:42px 20px}.qc-package-section{padding:48px 0}.qc-package-grid{gap:16px}.qc-booking-steps{grid-template-columns:1fr}.qc-booking-steps li{border-bottom:0}.qc-booking-steps li:last-child{border-bottom:1px solid var(--qc-border)}.qc-modal{padding:0}.qc-modal__card{width:100%;max-height:100vh;min-height:100vh;border:0;border-radius:0;padding:24px 20px}.qc-modal h2{font-size:28px}.qc-selection-line{flex-direction:column;gap:4px}.qc-booking-summary>div{grid-template-columns:1fr;gap:4px}.qc-modal__actions{bottom:-24px;margin:22px -20px -24px;padding:16px 20px}.qc-modal__actions button{min-height:48px}}

/* Shared single-product mobile layout. Astra supplies the product markup for
   every WooCommerce type; keep this scoped to that template so archive,
   checkout and non-Woo pages are unaffected. */
@media(max-width:600px){
  .single-product div.product{gap:0;}
  .single-product .woocommerce-product-gallery{
    display:grid;
    place-items:center;
    aspect-ratio:4/3;
    height:auto!important;
    min-height:0!important;
    max-height:clamp(220px,70vw,360px);
    margin:0 0 18px!important;
    padding:0!important;
    overflow:hidden;
    background:var(--qc-subtle)!important;
    border:1px solid var(--qc-border);
    border-radius:10px!important;
    box-shadow:none!important;
  }
  .single-product .woocommerce-product-gallery__wrapper,
  .single-product .woocommerce-product-gallery__image{height:100%;width:100%;}
  .single-product .woocommerce-product-gallery img{
    display:block;
    width:100%!important;
    height:100%!important;
    object-fit:contain!important;
    padding:8px;
  }
  .single-product .woocommerce-product-gallery__image--placeholder{position:relative;}
  /* Keep WooCommerce's existing alternative text in the accessibility tree
     while replacing the visually noisy generic placeholder with this compact
     fallback state. */
  .single-product .woocommerce-product-gallery__image--placeholder img{
    display:block!important;
    opacity:0;
  }
  .single-product .woocommerce-product-gallery__image--placeholder:after{
    content:"Product image unavailable";
    position:absolute;
    inset:0;
    display:grid;
    place-items:center;
    width:100%;
    height:100%;
    color:var(--qc-muted);
    font:600 14px/1.4 Inter,system-ui,sans-serif;
    text-align:center;
  }
  .single-product .summary{padding:0!important;}
  .single-product .summary .product_title{
    margin:0 0 8px!important;
    font-size:clamp(1.55rem,6vw,2rem)!important;
    line-height:1.15!important;
    overflow-wrap:anywhere;
  }
  .single-product .summary .price{
    margin:0 0 14px!important;
    font-size:clamp(1.3rem,5vw,1.65rem)!important;
    line-height:1.25!important;
  }
  .single-product .woocommerce-product-details__short-description{margin:0 0 16px;}
  .single-product form.cart{
    align-items:end;
    gap:12px;
    width:100%;
    max-width:100%;
    padding:16px!important;
    margin:0!important;
    box-sizing:border-box;
  }
  .single-product form.cart .quantity{min-width:0;}
  .single-product form.cart .single_add_to_cart_button{
    flex:1 1 11rem;
    min-width:0;
    max-width:100%;
  }
  .single-product form.cart :is(.variations, .group_table){width:100%;max-width:100%;}
}

/* Refine the mobile purchase hierarchy after the initial size correction.
   Astra's product wrapper is a white article surface by default; removing it
   here lets the ivory page background separate the gallery, summary, cart and
   description without affecting desktop presentation. */
@media(max-width:600px){
  body.single-product #content.site-content>.ast-container{width:calc(100% - 40px);margin-inline:auto}
  .single-product #primary{padding-top:24px!important}
  .single-product div.product.ast-article-single{gap:0;background:transparent!important;border:0!important;border-radius:0!important}
  .single-product .woocommerce-product-gallery:has(.woocommerce-product-gallery__image--placeholder){aspect-ratio:16/9;max-height:190px}
  .single-product .summary{padding:0 4px!important}
  .single-product .woocommerce-product-details__short-description{margin-bottom:18px}
  .single-product form.cart{display:grid;grid-template-columns:1fr;align-items:stretch;gap:14px;border-radius:10px}
  .single-product form.cart .quantity{justify-self:start}
  .single-product form.cart .single_add_to_cart_button{width:100%;min-height:48px}
  .single-product .qc-product-support{display:inline-flex;align-items:center;min-height:44px;margin:10px 4px 0;color:var(--qc-emerald);font-size:14px;font-weight:700;text-decoration:underline;text-underline-offset:.18em}
  .single-product .product_meta{margin:14px 4px 0!important;padding-top:14px!important;border-top:1px solid var(--qc-border)}
  .single-product .woocommerce-tabs{margin-top:22px!important;padding:24px 4px 0!important;border-top:1px solid var(--qc-border)}
}

/* Oct 2026: keep "Continue to donate" on one line in the review step on narrow screens. */
@media(max-width:480px){.qc-modal__actions{grid-template-columns:minmax(84px,auto) 1fr;gap:10px}.qc-modal__actions button{padding-inline:12px;white-space:nowrap}}
