/*
 * CAPO WooCommerce Ordering 6.0
 * Yasumaki-inspired storefront composition.
 * Font family is always inherited from the active WordPress theme.
 */
:root{
  --capo-bg:#070707;
  --capo-surface:#1b1b1b;
  --capo-surface-2:#242424;
  --capo-line:#333;
  --capo-text:#fff;
  --capo-muted:#929292;
  --capo-accent:#761616;
  --capo-accent-soft:#9c4444;
  --capo-control:#111;
  --capo-radius:4px;
}
.capo-ordering,.capo-ordering *{box-sizing:border-box}
.capo-ordering{position:relative;width:100%;min-height:100vh;padding:28px 28px 130px 92px;background:var(--capo-bg);color:var(--capo-text);font-family:inherit!important}
.capo-ordering button,.capo-ordering input,.capo-ordering select,.capo-ordering textarea{font-family:inherit!important}
.capo-ordering__main{width:100%;min-width:0;max-width:1500px;margin:0 auto}
.capo-ordering__heading{margin:0 0 24px;color:var(--capo-text)}
.capo-ordering__tools{margin-bottom:34px}
.capo-ordering__search{display:block;width:min(520px,100%);height:44px;margin:0 0 16px;padding:0 14px;border:1px solid var(--capo-line);border-radius:var(--capo-radius);background:var(--capo-surface);color:var(--capo-text)}
.capo-ordering__search::placeholder{color:var(--capo-muted)}
.capo-ordering__categories{display:none}

/* Fixed category rail, mirroring the compact reference rail. */
.capo-category-rail{position:fixed;left:0;top:0;bottom:0;z-index:80;width:64px;padding:74px 8px 24px;background:#1c1c1c;display:flex;flex-direction:column;align-items:center;gap:12px;overflow-y:auto;scrollbar-width:none}
.capo-category-rail::-webkit-scrollbar{display:none}
.capo-category-rail a{width:44px;height:44px;display:flex;align-items:center;justify-content:center;text-decoration:none!important;color:var(--capo-text)!important;border-radius:var(--capo-radius);overflow:hidden;background:transparent;transition:.18s ease}
.capo-category-rail a:hover,.capo-category-rail a.is-active{background:var(--capo-accent);color:#111!important}
.capo-category-rail img{width:30px;height:30px;object-fit:contain;display:block;margin:0!important;filter:none}
.capo-category-rail span{font-weight:700}

/* Menu sections */
.capo-menu-section{scroll-margin-top:24px;margin:0 0 58px}
.capo-menu-section__head{display:flex;align-items:baseline;gap:22px;margin:0 0 16px}
.capo-menu-section__head h2{margin:0;color:var(--capo-text);font-size:clamp(28px,2.4vw,44px);line-height:1;text-transform:uppercase}
.capo-menu-section__head a{color:var(--capo-muted)!important;text-decoration:none!important;text-transform:uppercase;font-size:12px;font-weight:700}
.capo-menu-section__head a:hover{color:var(--capo-accent)!important}
.capo-menu-section__subcats{display:flex;gap:8px;overflow-x:auto;white-space:nowrap;margin:0 0 20px;padding:0 0 4px;scrollbar-width:none}
.capo-menu-section__subcats::-webkit-scrollbar{display:none}
.capo-menu-section__subcats a{display:inline-flex;align-items:center;min-height:34px;padding:7px 12px;background:#0f0f0f;color:var(--capo-muted)!important;border-radius:var(--capo-radius);text-decoration:none!important;font-size:12px;text-transform:uppercase}
.capo-menu-section__subcats a:hover{background:var(--capo-surface-2);color:var(--capo-text)!important}

/* Product cards: compact 6-column restaurant menu cards. */
.capo-product-grid{display:grid;grid-template-columns:repeat(var(--capo-grid-columns,6),minmax(0,1fr));gap:20px 18px;align-items:stretch}
.capo-product-card{position:relative;min-width:0;min-height:286px;display:flex;flex-direction:column;padding:10px;background:var(--capo-surface);border-radius:var(--capo-radius);overflow:hidden;color:var(--capo-text)}
.capo-product-card__badge{position:absolute;z-index:5;left:8px;top:8px;min-width:32px;min-height:32px;padding:6px 8px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--capo-accent);color:#111;font-size:10px;font-weight:800;text-transform:uppercase}
.capo-product-card__open{appearance:none!important;width:100%;display:flex!important;flex:1;flex-direction:column;text-align:left!important;padding:0!important;margin:0!important;border:0!important;background:transparent!important;color:inherit!important;box-shadow:none!important;cursor:pointer}
.capo-product-card__image{height:150px;width:100%;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#111}
.capo-product-card__image img{display:block!important;width:100%!important;height:100%!important;object-fit:contain!important;margin:0!important}
.capo-product-card__body{display:block;padding:10px 2px 0;min-height:60px}
.capo-product-card__title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:var(--capo-muted);line-height:1.3;font-size:13px;font-weight:600}
.capo-product-card__desc{display:none}
.capo-product-card__footer{margin-top:auto;padding:10px 2px 0;display:grid;grid-template-columns:minmax(0,1fr) 28px auto;align-items:center;gap:7px}
.capo-product-card__price{color:var(--capo-text);font-weight:800;font-size:15px;white-space:nowrap;line-height:1}
.capo-product-card__price del{display:block;color:var(--capo-muted);font-size:11px;font-weight:500;margin-bottom:4px;opacity:.9}.capo-product-card__price ins{text-decoration:none;color:var(--capo-accent)}
.capo-favorite{width:28px!important;height:28px!important;padding:0!important;margin:0!important;border:0!important;background:transparent!important;color:#474747!important;box-shadow:none!important;font-size:20px!important;line-height:1!important;cursor:pointer}
.capo-favorite.is-active{color:var(--capo-accent)!important}
.capo-product-card__action,.capo-global-grid-action{display:flex;align-items:center;justify-content:flex-end;gap:4px;min-width:0}
.capo-add,.capo-options{min-width:56px!important;height:30px!important;padding:0 10px!important;border:0!important;border-radius:var(--capo-radius)!important;background:#050505!important;color:#fff!important;box-shadow:none!important;font-size:12px!important;font-weight:800!important;text-transform:uppercase;line-height:30px!important;cursor:pointer}
.capo-add:hover,.capo-options:hover{background:var(--capo-accent)!important;color:#111!important}
.capo-add.is-hidden{display:none!important}
.capo-grid-count{display:none;align-items:center;gap:3px}
.capo-grid-count.is-active{display:flex}
.capo-grid-count button,.capo-extra-count button,.capo-product-modal__simple button:not(.capo-add){width:30px;height:30px;padding:0!important;border:0!important;border-radius:var(--capo-radius)!important;background:var(--capo-accent)!important;color:#111!important;box-shadow:none!important;font-weight:800!important;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}
.capo-grid-qty,.capo-extra-input,.capo-modal-qty{width:30px!important;min-width:30px!important;height:30px!important;padding:0!important;border:0!important;background:#090909!important;color:#fff!important;text-align:center!important;border-radius:0!important;-moz-appearance:textfield}
.capo-grid-qty::-webkit-outer-spin-button,.capo-grid-qty::-webkit-inner-spin-button,.capo-extra-input::-webkit-outer-spin-button,.capo-extra-input::-webkit-inner-spin-button,.capo-modal-qty::-webkit-outer-spin-button,.capo-modal-qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}

/* Floating order bar */
.capo-cart-bar{position:fixed;z-index:99980;left:50%;bottom:18px;transform:translateX(-50%);min-width:380px;height:58px;padding:7px 8px 7px 18px;display:grid;grid-template-columns:auto auto 96px;align-items:center;gap:12px;border:0!important;border-radius:9px!important;background:var(--capo-accent)!important;color:#fff!important;box-shadow:0 10px 30px rgba(0,0,0,.34)!important;font-family:inherit!important;cursor:pointer}
.capo-cart-bar__count,.capo-cart-bar__total,.capo-cart-bar__label{white-space:nowrap}.capo-cart-bar__count{font-weight:700}.capo-cart-bar__total{font-weight:800}.capo-cart-bar__label{height:44px;display:flex;align-items:center;justify-content:center;border-radius:var(--capo-radius);background:#111;color:#fff;font-weight:800;text-transform:uppercase}
.capo-order-sidebar{display:none}

/* Order drawer */
.capo-drawer,.capo-modal,.capo-checkout-app{position:fixed;inset:0;z-index:100000;pointer-events:none;visibility:hidden}
.capo-drawer[aria-hidden="false"],.capo-modal[aria-hidden="false"],.capo-checkout-app[aria-hidden="false"]{pointer-events:auto;visibility:visible}
.capo-drawer__backdrop,.capo-modal__backdrop,.capo-checkout-app__backdrop{position:absolute;inset:0;width:100%;height:100%;border:0!important;background:rgba(0,0,0,.7)!important}
.capo-drawer__panel{position:absolute;top:0;right:0;width:min(760px,100%);height:100%;overflow:auto;padding:28px 30px 36px;background:var(--capo-bg);color:var(--capo-text);box-shadow:-20px 0 50px rgba(0,0,0,.4)}
.capo-drawer__head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px;padding-bottom:14px;border-bottom:1px solid var(--capo-line)}
.capo-drawer__head h2{margin:0;color:var(--capo-text);font-size:32px;text-transform:uppercase}.capo-drawer__close,.capo-modal__close,.capo-checkout-app__close{width:40px;height:40px;padding:0!important;border:0!important;border-radius:var(--capo-radius)!important;background:#111!important;color:var(--capo-accent)!important;font-family:inherit!important;font-size:30px!important;line-height:38px!important;cursor:pointer;box-shadow:none!important}
.capo-order-panel{display:grid;gap:24px}.capo-order-panel__title{display:none}
.capo-order-preferences{display:grid;gap:10px}.capo-order-preferences__label,.capo-additional-info__title{font-size:20px;font-weight:800;text-transform:uppercase;color:var(--capo-text)}
.capo-order-type{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.capo-order-type__option{width:100%;height:44px;border:1px solid var(--capo-line)!important;border-radius:var(--capo-radius)!important;background:var(--capo-surface)!important;color:#fff!important;box-shadow:none!important;font-weight:700!important;text-transform:uppercase}.capo-order-type__option.is-active{border-color:var(--capo-accent)!important;background:var(--capo-accent)!important;color:#111!important}
.capo-schedule-caption{font-size:12px;color:var(--capo-muted)}
.capo-schedule-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.capo-schedule-fields select{width:100%;height:44px;padding:0 12px;border:1px solid var(--capo-line);border-radius:var(--capo-radius);background:var(--capo-surface);color:#fff}
.capo-pickup-address{margin:0;padding:12px;background:var(--capo-surface);color:var(--capo-muted);border-radius:var(--capo-radius)}

/* Cart rows */
.capo-cart-content{min-height:80px}.capo-cart-empty{color:var(--capo-muted)}.capo-cart-items{display:grid;gap:10px}
.capo-cart-item{display:grid;grid-template-columns:74px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px;background:var(--capo-surface-2);border-radius:var(--capo-radius)}
.capo-cart-item__image img{width:74px;height:74px;object-fit:contain;display:block;margin:0!important;background:#111}.capo-cart-item__main{min-width:0}.capo-cart-item__main strong{display:block;color:#fff;line-height:1.3}.capo-cart-item__controls{display:flex;align-items:center;gap:6px;margin-top:8px}.capo-cart-item__controls button{width:30px;height:30px;padding:0!important;border:0!important;border-radius:var(--capo-radius)!important;background:var(--capo-accent)!important;color:#111!important;font-weight:800!important}.capo-cart-qty{min-width:24px;text-align:center;font-weight:800}.capo-cart-item__end{display:grid;justify-items:end;gap:8px;font-weight:700}.capo-cart-remove{width:28px;height:28px;padding:0!important;border:0!important;border-radius:50%!important;background:#8c8c8c!important;color:#111!important;font-weight:800!important;line-height:28px!important}
.capo-cart-summary{margin-top:16px;padding:16px;background:var(--capo-surface);border-radius:10px}.capo-cart-summary__line{display:flex;justify-content:space-between;gap:20px;margin-bottom:10px;text-transform:uppercase}.capo-cart-summary__line:last-of-type{font-size:1.25em;font-weight:800}.capo-checkout{display:block;width:100%;height:46px;margin-top:14px;padding:0 14px!important;border:0!important;border-radius:var(--capo-radius)!important;background:var(--capo-accent)!important;color:#111!important;text-align:center;text-decoration:none!important;font-weight:800!important;text-transform:uppercase;line-height:46px!important}.capo-checkout.is-disabled{opacity:.45;pointer-events:none}.capo-minimum{margin:10px 0;color:var(--capo-accent)}

/* Additional information */
.capo-additional-info{display:grid;gap:12px}.capo-additional-info__controls{display:grid;grid-template-columns:1fr 1fr;gap:12px}.capo-extra-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;background:var(--capo-surface-2);border-radius:var(--capo-radius);font-weight:700}.capo-extra-count{display:flex;align-items:center;gap:3px}.capo-additional-wishes{width:100%;min-height:112px;padding:14px;border:1px solid var(--capo-line);border-radius:var(--capo-radius);background:var(--capo-surface);color:#fff;resize:vertical}.capo-additional-wishes::placeholder{color:#656565}.capo-no-call{display:flex;align-items:flex-start;gap:8px;color:#ddd;font-size:13px}.capo-no-call input{accent-color:var(--capo-accent)}

/* Product detail modal */
.capo-modal__panel{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(1180px,calc(100% - 36px));max-height:calc(100% - 36px);overflow:auto;padding:42px;background:var(--capo-surface);color:var(--capo-text);border-radius:var(--capo-radius);box-shadow:0 30px 80px rgba(0,0,0,.55)}
.capo-modal__close{position:absolute;z-index:4;right:18px;top:18px}.capo-product-modal{display:grid;grid-template-columns:minmax(300px,47%) minmax(0,1fr);gap:54px;align-items:start}.capo-product-modal__image{display:flex;align-items:center;justify-content:center;min-height:430px;background:#111}.capo-product-modal__image img{display:block;width:100%;height:auto;max-height:620px;object-fit:contain;margin:0!important}.capo-product-modal__heading{display:flex;align-items:baseline;gap:18px;margin-right:46px}.capo-product-modal__heading h2{margin:0;color:#fff;text-transform:uppercase}.capo-product-modal__heading span{color:#ddd;white-space:nowrap;font-weight:700}.capo-product-modal__desc{margin-top:22px;color:var(--capo-muted);line-height:1.55;font-weight:600}.capo-product-modal__ingredients{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:22px 10px;margin-top:28px}.capo-ingredient-item{text-align:center;color:var(--capo-muted);font-size:12px;line-height:1.25;text-transform:uppercase}.capo-ingredient-placeholder{display:block;width:68px;height:68px;margin:0 auto 8px;border-radius:50%;background:#111;border:1px solid var(--capo-line)}.capo-product-modal__kcal{display:flex;justify-content:flex-end;gap:8px;margin-top:24px;color:var(--capo-muted);text-transform:uppercase}.capo-product-modal__allergens{grid-column:1/-1;margin-top:30px;padding-top:24px;border-top:1px solid var(--capo-line);color:var(--capo-muted);line-height:1.5}.capo-product-modal__allergens strong{color:#fff}.capo-product-modal__offer{display:flex;align-items:center;justify-content:flex-end;gap:22px;margin-top:32px}.capo-product-modal__price{font-size:34px;font-weight:800;color:#fff}.capo-product-modal__simple{display:flex;align-items:center;gap:4px}

/* Site-wide standard WooCommerce cards */
.capo-reference-product-grids ul.products{display:grid!important;grid-template-columns:repeat(var(--capo-grid-columns,6),minmax(0,1fr))!important;gap:20px 18px!important}
.capo-reference-product-grids ul.products:before,.capo-reference-product-grids ul.products:after{display:none!important}
.capo-reference-product-grids ul.products li.product{float:none!important;width:auto!important;margin:0!important;min-width:0!important;display:flex!important;flex-direction:column!important;padding:10px!important;background:var(--capo-surface)!important;color:#fff!important;border-radius:var(--capo-radius)!important;overflow:hidden!important}
.capo-reference-product-grids ul.products li.product a.woocommerce-LoopProduct-link{display:block!important;text-decoration:none!important;color:inherit!important}.capo-reference-product-grids ul.products li.product img{width:100%!important;height:150px!important;object-fit:contain!important;margin:0 0 10px!important;background:#111!important}.capo-reference-product-grids ul.products li.product .woocommerce-loop-product__title{min-height:36px!important;margin:0 0 8px!important;color:var(--capo-muted)!important;font-size:13px!important;line-height:1.3!important}.capo-reference-product-grids ul.products li.product .price{display:block!important;margin-top:auto!important;margin-bottom:0!important;color:#fff!important;font-weight:800!important}.capo-reference-product-grids ul.products li.product .capo-global-grid-action{margin-top:10px;display:grid;grid-template-columns:28px auto;justify-content:end}.capo-reference-product-grids ul.products li.product .capo-grid-count.is-active{grid-column:1/-1}

/* TheGem grids - sliders remain excluded. */
.capo-reference-product-grids .portfolio-item.product:not(.owl-item).capo-global-card-ready{display:flex!important;flex-direction:column!important;min-width:0!important;background:var(--capo-surface)!important;padding:10px!important;border-radius:var(--capo-radius)!important;overflow:hidden!important}.capo-reference-product-grids .portfolio-item.product:not(.owl-item).capo-global-card-ready .wrap{height:auto!important;display:flex!important;flex-direction:column!important}.capo-reference-product-grids .portfolio-item.product:not(.owl-item).capo-global-card-ready .image{width:100%!important;background:#111!important}.capo-reference-product-grids .portfolio-item.product:not(.owl-item).capo-global-card-ready .image-inner img{width:100%!important;height:150px!important;object-fit:contain!important;display:block!important}.capo-reference-product-grids .portfolio-item.product:not(.owl-item).capo-global-card-ready .caption{display:flex!important;flex-direction:column!important;padding-top:10px!important}.capo-reference-product-grids .portfolio-item.product:not(.owl-item).capo-global-card-ready .title a{color:var(--capo-muted)!important;font-size:13px!important}.capo-reference-product-grids .portfolio-item.product:not(.owl-item).capo-global-card-ready .product-info,.capo-reference-product-grids .portfolio-item.product:not(.owl-item).capo-global-card-ready .list-right{width:100%!important;float:none!important}.capo-reference-product-grids .portfolio-item.product:not(.owl-item).capo-global-card-ready .price-wrap{margin:0!important;color:#fff!important}.capo-reference-product-grids .portfolio-item.product:not(.owl-item).capo-global-card-ready .capo-global-grid-action{margin-top:8px}

/* Checkout overlay: real WooCommerce checkout page loaded in-frame so gateway scripts work. */
.capo-checkout-app{z-index:100100}
.capo-checkout-app__panel{position:absolute;top:16px;right:16px;bottom:16px;width:min(1120px,calc(100% - 32px));display:flex;flex-direction:column;overflow:hidden;background:var(--capo-bg);color:#fff;border-radius:8px;box-shadow:-20px 0 60px rgba(0,0,0,.55)}
.capo-checkout-app__head{height:68px;flex:0 0 68px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 20px;border-bottom:1px solid var(--capo-line)}.capo-checkout-app__head h2{margin:0;color:#fff;text-transform:uppercase}.capo-checkout-app__content{position:relative;flex:1;min-height:0}.capo-checkout-frame{display:block;width:100%;height:100%;border:0;background:var(--capo-bg)}

/* Embedded native checkout page: remove theme chrome but keep all Woo functionality. */
body.capo-checkout-embed{margin:0!important;background:var(--capo-bg)!important;color:#fff!important;overflow-x:hidden!important}
body.capo-checkout-embed header,body.capo-checkout-embed footer,body.capo-checkout-embed #site-header,body.capo-checkout-embed #site-footer,body.capo-checkout-embed .site-header,body.capo-checkout-embed .site-footer,body.capo-checkout-embed .top-area,body.capo-checkout-embed .header-wrapper,body.capo-checkout-embed .page-title-block{display:none!important}
body.capo-checkout-embed #page,body.capo-checkout-embed #main,body.capo-checkout-embed .site-content,body.capo-checkout-embed .block-content,body.capo-checkout-embed .container{width:100%!important;max-width:none!important;margin:0!important;padding:0!important;background:var(--capo-bg)!important}
body.capo-checkout-embed .woocommerce{max-width:1180px!important;margin:0 auto!important;padding:28px!important}
body.capo-checkout-embed .woocommerce form.checkout{display:grid!important;grid-template-columns:minmax(0,1.05fr) minmax(380px,.95fr)!important;gap:28px!important;align-items:start!important}
body.capo-checkout-embed .woocommerce form.checkout>#customer_details{grid-column:1!important;width:100%!important;float:none!important}
body.capo-checkout-embed .woocommerce form.checkout>#order_review_heading{grid-column:2!important;margin:0 0 12px!important;color:#fff!important;text-transform:uppercase!important}
body.capo-checkout-embed .woocommerce form.checkout>#order_review{grid-column:2!important;width:100%!important;float:none!important;position:sticky!important;top:20px!important;padding:18px!important;background:var(--capo-surface)!important;border-radius:10px!important}
body.capo-checkout-embed h3,body.capo-checkout-embed h2{color:#fff!important;text-transform:uppercase!important}
body.capo-checkout-embed label{color:#ddd!important}
body.capo-checkout-embed input.input-text,body.capo-checkout-embed textarea,body.capo-checkout-embed select,body.capo-checkout-embed .select2-selection{min-height:44px!important;border:1px solid var(--capo-line)!important;border-radius:var(--capo-radius)!important;background:var(--capo-surface)!important;color:#fff!important;box-shadow:none!important}
body.capo-checkout-embed textarea{padding:12px!important}
body.capo-checkout-embed .select2-selection__rendered{color:#fff!important;line-height:42px!important}
body.capo-checkout-embed .select2-selection__arrow{height:42px!important}
body.capo-checkout-embed #payment,body.capo-checkout-embed table.shop_table{background:transparent!important;color:#fff!important;border-color:var(--capo-line)!important}
body.capo-checkout-embed table.shop_table th,body.capo-checkout-embed table.shop_table td{border-color:var(--capo-line)!important;color:#fff!important}
body.capo-checkout-embed #payment ul.payment_methods{padding:0!important;border:0!important}body.capo-checkout-embed #payment ul.payment_methods li{list-style:none!important;padding:8px 0!important;color:#fff!important}
body.capo-checkout-embed #payment div.payment_box{background:var(--capo-surface-2)!important;color:#ddd!important}
body.capo-checkout-embed #place_order{width:100%!important;min-height:48px!important;border:0!important;border-radius:var(--capo-radius)!important;background:var(--capo-accent)!important;color:#111!important;font-weight:800!important;text-transform:uppercase!important}
body.capo-checkout-embed .capo-checkout-preferences,body.capo-checkout-embed .capo-checkout-additional{margin:20px 0!important;padding:16px!important;background:var(--capo-surface)!important;border-radius:var(--capo-radius)!important}
body.capo-checkout-embed .woocommerce-billing-fields__field-wrapper,body.capo-checkout-embed .woocommerce-shipping-fields__field-wrapper{display:grid!important;grid-template-columns:1fr 1fr!important;gap:0 14px!important}body.capo-checkout-embed .form-row{width:100%!important;float:none!important}body.capo-checkout-embed .form-row-wide{grid-column:1/-1!important}

/* Native checkout page outside the app follows same compact composition when setting is enabled. */
.capo-reference-checkout:not(.capo-checkout-embed) form.checkout.woocommerce-checkout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(380px,.95fr);gap:28px;align-items:start}.capo-reference-checkout:not(.capo-checkout-embed) form.checkout.woocommerce-checkout>#customer_details{grid-column:1;width:100%;float:none!important}.capo-reference-checkout:not(.capo-checkout-embed) form.checkout.woocommerce-checkout>#order_review_heading{grid-column:2;margin-top:0}.capo-reference-checkout:not(.capo-checkout-embed) form.checkout.woocommerce-checkout>#order_review{grid-column:2;width:100%;float:none!important;position:sticky;top:24px}
html.capo-lock{overflow:hidden}

@media(max-width:1180px){
  .capo-product-grid,.capo-reference-product-grids ul.products{grid-template-columns:repeat(var(--capo-grid-columns-tablet,3),minmax(0,1fr))!important}
  .capo-product-modal__ingredients{grid-template-columns:repeat(4,minmax(0,1fr))}
  body.capo-checkout-embed .woocommerce form.checkout{grid-template-columns:minmax(0,1fr) minmax(340px,.9fr)!important}
}
@media(max-width:900px){
  .capo-ordering{padding-left:18px;padding-right:18px}.capo-category-rail{display:none}.capo-ordering__categories{display:flex;gap:16px;overflow-x:auto;white-space:nowrap;padding:8px 0;color:#fff}.capo-ordering__categories a{color:#fff!important;text-decoration:none!important;text-transform:uppercase;font-size:12px}
  .capo-modal__panel{width:calc(100% - 24px);padding:24px}.capo-product-modal{grid-template-columns:1fr;gap:24px}.capo-product-modal__image{min-height:280px}.capo-product-modal__image img{max-height:420px}.capo-product-modal__ingredients{grid-template-columns:repeat(4,minmax(0,1fr))}
  body.capo-checkout-embed .woocommerce form.checkout{display:block!important}body.capo-checkout-embed .woocommerce form.checkout>#order_review{position:static!important;margin-top:24px!important}.capo-reference-checkout:not(.capo-checkout-embed) form.checkout.woocommerce-checkout{display:block}.capo-reference-checkout:not(.capo-checkout-embed) form.checkout.woocommerce-checkout>#order_review{position:static}
}
@media(max-width:767px){
  .capo-ordering{padding:20px 15px 92px}.capo-product-grid,.capo-reference-product-grids ul.products{grid-template-columns:repeat(var(--capo-grid-columns-mobile,2),minmax(0,1fr))!important;gap:12px 10px!important}.capo-product-card,.capo-reference-product-grids ul.products li.product{min-height:250px;padding:8px!important}.capo-product-card__image,.capo-reference-product-grids ul.products li.product img{height:122px!important}.capo-menu-section{margin-bottom:44px}.capo-menu-section__head{gap:12px}.capo-menu-section__head h2{font-size:28px}.capo-cart-bar{left:15px;right:15px;bottom:15px;transform:none;width:auto;min-width:0;height:54px;grid-template-columns:1fr auto;padding-left:14px}.capo-cart-bar__count{display:none}.capo-cart-bar__label{height:40px;padding:0 16px}.capo-drawer__panel{padding:18px 15px 28px}.capo-additional-info__controls{grid-template-columns:1fr}.capo-product-modal__ingredients{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 8px}.capo-product-modal__offer{flex-direction:column;align-items:stretch}.capo-product-modal__simple{justify-content:flex-end}.capo-product-modal__price{font-size:28px}.capo-checkout-app__panel{inset:0;width:100%;height:100%;border-radius:0}.capo-checkout-app__head{height:58px;flex-basis:58px;padding:0 14px}.capo-checkout-app__head h2{font-size:20px}body.capo-checkout-embed .woocommerce{padding:16px!important}body.capo-checkout-embed .woocommerce-billing-fields__field-wrapper,body.capo-checkout-embed .woocommerce-shipping-fields__field-wrapper{display:block!important}
}
@media(max-width:420px){.capo-product-modal__ingredients{grid-template-columns:repeat(2,minmax(0,1fr))}.capo-product-card__footer{grid-template-columns:minmax(0,1fr) 24px auto}.capo-product-card__price{font-size:13px}.capo-add,.capo-options{min-width:48px!important;padding:0 7px!important}.capo-product-card__title{font-size:12px}}


/* =========================================================
   V6 checkout embed hardening for TheGem / Elementor
   Keeps WooCommerce checkout functional while removing the
   host theme chrome inside the CAPO checkout overlay.
========================================================= */
html:has(body.capo-checkout-embed),
html:has(body.capo-checkout-embed) body{margin-top:0!important;padding-top:0!important;background:var(--capo-bg)!important}
body.capo-checkout-embed{padding:0!important;margin:0!important;min-height:100vh!important;background:var(--capo-bg)!important;color:var(--capo-text)!important}
body.capo-checkout-embed #wpadminbar,
body.capo-checkout-embed #site-header,
body.capo-checkout-embed #site-header-wrapper,
body.capo-checkout-embed .site-header,
body.capo-checkout-embed header,
body.capo-checkout-embed .header-wrapper,
body.capo-checkout-embed .top-area,
body.capo-checkout-embed .top-area-block,
body.capo-checkout-embed .header-background,
body.capo-checkout-embed .page-title-block,
body.capo-checkout-embed #page-title,
body.capo-checkout-embed .page-title,
body.capo-checkout-embed .page-title-excerpt,
body.capo-checkout-embed .breadcrumbs-container,
body.capo-checkout-embed #site-footer,
body.capo-checkout-embed .site-footer,
body.capo-checkout-embed footer,
body.capo-checkout-embed #footer-nav,
body.capo-checkout-embed .footer-nav{display:none!important;height:0!important;min-height:0!important;margin:0!important;padding:0!important}

body.capo-checkout-embed #page,
body.capo-checkout-embed #main,
body.capo-checkout-embed #main-content,
body.capo-checkout-embed .main-content,
body.capo-checkout-embed .site-content,
body.capo-checkout-embed .block-content,
body.capo-checkout-embed .container,
body.capo-checkout-embed .fullwidth-content{width:100%!important;max-width:none!important;min-width:0!important;margin:0!important;padding:0!important;background:var(--capo-bg)!important}

body.capo-checkout-embed .woocommerce{width:min(1180px,100%)!important;max-width:1180px!important;margin:0 auto!important;padding:30px!important;box-sizing:border-box!important;background:var(--capo-bg)!important}
body.capo-checkout-embed .woocommerce>h1,
body.capo-checkout-embed .woocommerce-page-title{display:none!important}

body.capo-checkout-embed form.checkout.woocommerce-checkout{
  display:grid!important;
  grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr)!important;
  gap:32px!important;
  align-items:start!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
}
body.capo-checkout-embed form.checkout.woocommerce-checkout>#customer_details{
  grid-column:1!important;
  grid-row:1 / span 3!important;
  width:100%!important;
  max-width:none!important;
  float:none!important;
  margin:0!important;
  padding:0!important;
}
body.capo-checkout-embed form.checkout.woocommerce-checkout>#customer_details .col-1,
body.capo-checkout-embed form.checkout.woocommerce-checkout>#customer_details .col-2{
  width:100%!important;max-width:none!important;float:none!important;margin:0!important;padding:0!important
}
body.capo-checkout-embed form.checkout.woocommerce-checkout>#order_review_heading{
  grid-column:2!important;
  grid-row:1!important;
  width:100%!important;
  max-width:none!important;
  min-height:0!important;
  margin:0!important;
  padding:0 0 12px!important;
  background:transparent!important;
  color:var(--capo-text)!important;
  float:none!important;
  position:static!important;
  writing-mode:horizontal-tb!important;
  transform:none!important;
}
body.capo-checkout-embed form.checkout.woocommerce-checkout>#order_review{
  grid-column:2!important;
  grid-row:2!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  float:none!important;
  position:sticky!important;
  top:20px!important;
  margin:0!important;
  padding:20px!important;
  background:var(--capo-surface)!important;
  color:var(--capo-text)!important;
  border:1px solid var(--capo-line)!important;
  border-radius:var(--capo-radius)!important;
  box-sizing:border-box!important;
}
body.capo-checkout-embed form.checkout.woocommerce-checkout>#order_review *{box-sizing:border-box!important}
body.capo-checkout-embed .woocommerce-checkout-review-order-table,
body.capo-checkout-embed .woocommerce-checkout-review-order-table tbody,
body.capo-checkout-embed .woocommerce-checkout-review-order-table tfoot,
body.capo-checkout-embed .woocommerce-checkout-review-order-table tr,
body.capo-checkout-embed .woocommerce-checkout-review-order-table th,
body.capo-checkout-embed .woocommerce-checkout-review-order-table td{
  background:transparent!important;color:var(--capo-text)!important
}
body.capo-checkout-embed .woocommerce-checkout-review-order-table{width:100%!important;margin:0 0 18px!important;border:0!important}
body.capo-checkout-embed .woocommerce-checkout-review-order-table th,
body.capo-checkout-embed .woocommerce-checkout-review-order-table td{padding:12px 6px!important;border-color:var(--capo-line)!important}
body.capo-checkout-embed #payment{margin-top:12px!important;padding:0!important;background:transparent!important;color:var(--capo-text)!important}
body.capo-checkout-embed #payment ul.payment_methods{margin:0!important;padding:0!important;background:transparent!important;border:0!important}
body.capo-checkout-embed #payment li{background:transparent!important;color:var(--capo-text)!important}
body.capo-checkout-embed #payment .payment_box{margin:8px 0!important;padding:14px!important;background:var(--capo-surface-2)!important;color:var(--capo-text)!important}
body.capo-checkout-embed #payment .payment_box:before{display:none!important}
body.capo-checkout-embed .woocommerce-billing-fields h3,
body.capo-checkout-embed .woocommerce-shipping-fields h3,
body.capo-checkout-embed .woocommerce-additional-fields h3,
body.capo-checkout-embed .capo-checkout-preferences h3,
body.capo-checkout-embed .capo-checkout-additional h3{margin:0 0 18px!important;color:var(--capo-text)!important}
body.capo-checkout-embed .woocommerce-billing-fields__field-wrapper,
body.capo-checkout-embed .woocommerce-shipping-fields__field-wrapper{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:0 16px!important}
body.capo-checkout-embed .form-row{width:100%!important;max-width:none!important;float:none!important;margin:0 0 15px!important;padding:0!important}
body.capo-checkout-embed .form-row-wide{grid-column:1/-1!important}
body.capo-checkout-embed input.input-text,
body.capo-checkout-embed textarea,
body.capo-checkout-embed select,
body.capo-checkout-embed .select2-container,
body.capo-checkout-embed .select2-selection{width:100%!important;max-width:none!important}
body.capo-checkout-embed input.input-text,
body.capo-checkout-embed textarea,
body.capo-checkout-embed select,
body.capo-checkout-embed .select2-selection{
  min-height:46px!important;
  padding:0 12px!important;
  border:1px solid var(--capo-line)!important;
  border-radius:var(--capo-radius)!important;
  background:var(--capo-surface)!important;
  color:var(--capo-text)!important;
  box-shadow:none!important
}
body.capo-checkout-embed textarea{min-height:100px!important;padding:12px!important}
body.capo-checkout-embed #place_order{background:var(--capo-accent)!important;color:#fff!important}

/* Checkout overlay itself stays within viewport and above theme/admin UI. */
.capo-checkout-app{z-index:2147483000!important}
.capo-checkout-app__panel{top:12px!important;right:12px!important;bottom:12px!important;width:min(1220px,calc(100% - 24px))!important;max-width:1220px!important}
.capo-checkout-app__content{overflow:hidden!important;background:var(--capo-bg)!important}
.capo-checkout-frame{display:block!important;width:100%!important;height:100%!important;min-height:0!important;background:var(--capo-bg)!important}

@media(max-width:900px){
 body.capo-checkout-embed form.checkout.woocommerce-checkout{display:block!important}
 body.capo-checkout-embed form.checkout.woocommerce-checkout>#order_review{position:static!important;margin-top:24px!important}
 body.capo-checkout-embed .woocommerce{padding:20px!important}
}
@media(max-width:767px){
 .capo-checkout-app__panel{inset:0!important;width:100%!important;max-width:none!important;border-radius:0!important}
 body.capo-checkout-embed .woocommerce{padding:15px!important}
 body.capo-checkout-embed .woocommerce-billing-fields__field-wrapper,
 body.capo-checkout-embed .woocommerce-shipping-fields__field-wrapper{display:block!important}
}

/* =========================================================
   V7 refinements
   - CAPO red buttons always use white text
   - hover/active state uses #2967d4 with white text
   - standalone [capo_product_grid] layout
   - checkout is a clean address + payment step
========================================================= */

/* Brand action colors */
.capo-category-rail a:hover,
.capo-category-rail a.is-active,
.capo-product-card__badge,
.capo-grid-count button,
.capo-extra-count button,
.capo-product-modal__simple button:not(.capo-add),
.capo-order-type__option.is-active,
.capo-checkout,
.capo-cart-bar,
.capo-modal__close:hover,
.capo-drawer__close:hover,
.capo-checkout-app__close:hover,
body.capo-checkout-embed #place_order,
.capo-ordering button[style*="#761616"]{
  background:#761616!important;
  color:#fff!important;
}

.capo-add:hover,
.capo-add:focus,
.capo-add:active,
.capo-options:hover,
.capo-options:focus,
.capo-options:active,
.capo-category-rail a:hover,
.capo-category-rail a.is-active,
.capo-grid-count button:hover,
.capo-grid-count button:focus,
.capo-grid-count button:active,
.capo-extra-count button:hover,
.capo-extra-count button:focus,
.capo-extra-count button:active,
.capo-product-modal__simple button:not(.capo-add):hover,
.capo-product-modal__simple button:not(.capo-add):focus,
.capo-product-modal__simple button:not(.capo-add):active,
.capo-order-type__option:hover,
.capo-order-type__option:focus,
.capo-order-type__option:active,
.capo-order-type__option.is-active:hover,
.capo-checkout:hover,
.capo-checkout:focus,
.capo-checkout:active,
.capo-cart-bar:hover,
.capo-cart-bar:focus,
.capo-cart-bar:active,
body.capo-checkout-embed #place_order:hover,
body.capo-checkout-embed #place_order:focus,
body.capo-checkout-embed #place_order:active{
  background:#2967d4!important;
  color:#fff!important;
}

/* Red accent controls should never inherit black text from the theme. */
.capo-product-card__badge,
.capo-grid-count button,
.capo-extra-count button,
.capo-product-modal__simple button:not(.capo-add),
.capo-order-type__option.is-active,
.capo-cart-bar,
.capo-checkout{color:#fff!important}

/* Standalone grid shortcode: no category rail, no forced full-page shell. */
.capo-ordering.capo-grid-only{
  min-height:0!important;
  padding:0!important;
  background:transparent!important;
}
.capo-grid-only__inner{width:100%;min-width:0}
.capo-grid-only .capo-product-grid{width:100%}

/* Personal information section in the order drawer. */
.capo-personal-info{display:grid;gap:10px}
.capo-personal-info__title{font-size:20px;font-weight:800;text-transform:uppercase;color:var(--capo-text)}
.capo-personal-info__fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.capo-personal-info__fields .capo-personal-email{grid-column:1/-1}
.capo-personal-info__fields input{
  width:100%!important;
  min-width:0!important;
  height:44px!important;
  padding:0 12px!important;
  margin:0!important;
  border:1px solid var(--capo-line)!important;
  border-radius:var(--capo-radius)!important;
  background:var(--capo-surface)!important;
  color:#fff!important;
  box-shadow:none!important;
}
.capo-personal-info__fields input::placeholder{color:var(--capo-muted)!important}

/* The embedded checkout now bypasses the theme template entirely. */
body.capo-checkout-document{overflow:auto!important}
body.capo-checkout-document .capo-embedded-checkout-shell{
  width:min(1180px,100%);
  min-height:100vh;
  margin:0 auto;
  padding:24px;
  background:var(--capo-bg);
  color:var(--capo-text);
  font-family:inherit!important;
}
.capo-checkout-summary-card{
  margin:0 0 22px;
  padding:20px;
  border:1px solid var(--capo-line);
  border-radius:var(--capo-radius);
  background:var(--capo-surface);
  color:var(--capo-text);
}
.capo-checkout-summary-card h2{margin:0 0 16px!important;color:#fff!important;font-size:24px!important}
.capo-checkout-summary-card__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.capo-checkout-summary-card__grid>div,
.capo-checkout-readonly__grid>div{padding:12px;background:var(--capo-surface-2);border-radius:var(--capo-radius)}
.capo-checkout-summary-card__grid span,
.capo-checkout-readonly__grid span{display:block;margin-bottom:4px;color:var(--capo-muted);font-size:12px;text-transform:uppercase}
.capo-checkout-summary-card__grid strong,
.capo-checkout-readonly__grid strong{display:block;color:#fff;font-weight:700}
.capo-checkout-summary-card__note{margin:14px 0 0;color:var(--capo-muted)}

body.capo-checkout-document .capo-embedded-checkout .woocommerce{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
}
body.capo-checkout-document .woocommerce-form-coupon-toggle,
body.capo-checkout-document .woocommerce-form-login-toggle{margin-bottom:16px}
body.capo-checkout-document .woocommerce-billing-fields>h3{font-size:0!important;margin:0 0 16px!important}
body.capo-checkout-document .woocommerce-billing-fields>h3:after{
  content:'Delivery address';
  font-size:24px;
  color:#fff;
}
body.capo-checkout-document.capo-order-type-pickup .woocommerce-billing-fields>h3:after{content:'Billing details'}

/* The order panel already collected personal info + fulfilment details. */
body.capo-checkout-document .capo-checkout-readonly{margin:18px 0;padding:18px;border:1px solid var(--capo-line);background:var(--capo-surface);border-radius:var(--capo-radius)}
body.capo-checkout-document .capo-checkout-readonly h3{margin:0 0 12px!important;font-size:18px!important;color:#fff!important}
body.capo-checkout-document .capo-checkout-readonly__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
body.capo-checkout-document .capo-checkout-readonly__wishes{margin:12px 0 0;color:var(--capo-muted)}

/* Make checkout fields readable and consistent inside the clean document. */
body.capo-checkout-document .woocommerce form .form-row label{color:#fff!important}
body.capo-checkout-document input.input-text,
body.capo-checkout-document textarea,
body.capo-checkout-document select,
body.capo-checkout-document .select2-selection{
  background:var(--capo-surface)!important;
  border:1px solid var(--capo-line)!important;
  color:#fff!important;
}
body.capo-checkout-document .select2-container--default .select2-selection--single .select2-selection__rendered{color:#fff!important}
body.capo-checkout-document .woocommerce-checkout-review-order-table,
body.capo-checkout-document #payment{background:var(--capo-surface)!important;color:#fff!important}
body.capo-checkout-document .woocommerce-checkout-review-order-table th,
body.capo-checkout-document .woocommerce-checkout-review-order-table td{color:#fff!important;border-color:var(--capo-line)!important}

@media(max-width:767px){
  .capo-personal-info__fields{grid-template-columns:1fr}
  .capo-personal-info__fields .capo-personal-email{grid-column:auto}
  .capo-checkout-summary-card__grid,
  body.capo-checkout-document .capo-checkout-readonly__grid{grid-template-columns:1fr}
  body.capo-checkout-document .capo-embedded-checkout-shell{padding:15px}
}

/* Complete button-state coverage for CAPO accent controls. */
.capo-cart-item__controls button{
  background:#761616!important;
  color:#fff!important;
}
.capo-cart-item__controls button:hover,
.capo-cart-item__controls button:focus,
.capo-cart-item__controls button:active{
  background:#2967d4!important;
  color:#fff!important;
}

/* =========================================================
   V8 checkout layout repair
   TheGem wraps checkout sections in .checkout-contents, so
   V7's direct-child grid selectors could not take effect.
   These rules target the actual generated markup and force
   the embedded checkout to use the full viewport cleanly.
========================================================= */

html:has(body.capo-checkout-document),
body.capo-checkout-document{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  overflow-x:hidden!important;
  background:var(--capo-bg)!important;
}

body.capo-checkout-document *,
body.capo-checkout-document *:before,
body.capo-checkout-document *:after{box-sizing:border-box!important}

/* Checkout app fills the browser instead of behaving like a narrow drawer. */
.capo-checkout-app__panel{
  inset:0!important;
  width:100vw!important;
  max-width:none!important;
  height:100dvh!important;
  max-height:none!important;
  border-radius:0!important;
}
.capo-checkout-app__content{width:100%!important;min-width:0!important}
.capo-checkout-frame{width:100%!important;max-width:none!important;height:100%!important}

body.capo-checkout-document .capo-embedded-checkout-shell{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  min-height:100vh!important;
  margin:0!important;
  padding:28px clamp(18px,3vw,52px)!important;
  box-sizing:border-box!important;
}

body.capo-checkout-document .capo-embedded-checkout,
body.capo-checkout-document .capo-embedded-checkout>.woocommerce,
body.capo-checkout-document form.checkout.woocommerce-checkout{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin-left:0!important;
  margin-right:0!important;
}

/* The actual TheGem checkout structure is:
   form > .checkout-contents[billing]
   form > .checkout-contents[payment]
   rather than #customer_details / #order_review as direct children. */
body.capo-checkout-document form.checkout.woocommerce-checkout{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(420px,.85fr)!important;
  gap:32px!important;
  align-items:start!important;
  padding:0!important;
}

body.capo-checkout-document form.checkout.woocommerce-checkout>.checkout-contents{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  float:none!important;
  position:static!important;
}
body.capo-checkout-document form.checkout.woocommerce-checkout>.checkout-contents[data-tab-content-id="checkout-billing"]{
  grid-column:1!important;
  grid-row:1!important;
}
body.capo-checkout-document form.checkout.woocommerce-checkout>.checkout-contents[data-tab-content-id="checkout-payment"]{
  grid-column:2!important;
  grid-row:1!important;
  position:sticky!important;
  top:20px!important;
}

/* Kill Bootstrap/TheGem negative row margins and 50% columns. */
body.capo-checkout-document #customer_details.row,
body.capo-checkout-document #customer_details,
body.capo-checkout-document #customer_details>.col-1,
body.capo-checkout-document #customer_details>.col-2{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  float:none!important;
}
body.capo-checkout-document #customer_details.row{
  display:block!important;
  margin-left:0!important;
  margin-right:0!important;
}

/* Personal information is already collected in CAPO. Billing address is
   the delivery address, so the duplicate 'ship to different address' block
   is not shown in this embedded flow. */
body.capo-checkout-document #customer_details>.col-2,
body.capo-checkout-document .woocommerce-shipping-fields{
  display:none!important;
}

body.capo-checkout-document .woocommerce-billing-fields,
body.capo-checkout-document .woocommerce-billing-fields__field-wrapper,
body.capo-checkout-document .woocommerce-additional-fields,
body.capo-checkout-document .woocommerce-additional-fields__field-wrapper{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
}

body.capo-checkout-document .woocommerce-billing-fields__field-wrapper{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:0 16px!important;
}
body.capo-checkout-document .woocommerce-billing-fields__field-wrapper>.form-row-wide,
body.capo-checkout-document .woocommerce-billing-fields__field-wrapper>#billing_country_field,
body.capo-checkout-document .woocommerce-billing-fields__field-wrapper>#billing_address_1_field,
body.capo-checkout-document .woocommerce-billing-fields__field-wrapper>#billing_address_2_field{
  grid-column:1/-1!important;
}

/* Payment/order column reset. */
body.capo-checkout-document .order-review-inner,
body.capo-checkout-document .gem-table.checkout-payment,
body.capo-checkout-document #order_review,
body.capo-checkout-document #payment{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  float:none!important;
  position:static!important;
}
body.capo-checkout-document .order-review-inner{
  padding:22px!important;
  border:1px solid var(--capo-line)!important;
  border-radius:var(--capo-radius)!important;
  background:var(--capo-surface)!important;
}
body.capo-checkout-document #order_review_heading{
  width:100%!important;
  min-height:0!important;
  margin:0 0 16px!important;
  padding:0!important;
  background:transparent!important;
  color:#fff!important;
  writing-mode:horizontal-tb!important;
  transform:none!important;
  position:static!important;
  float:none!important;
}

/* Prevent long email/name strings from widening the iframe/document. */
.capo-checkout-summary-card__grid>div{min-width:0!important}
.capo-checkout-summary-card__grid strong{
  min-width:0!important;
  max-width:100%!important;
  overflow-wrap:anywhere!important;
  word-break:break-word!important;
}

/* No horizontal scroll from table/image widths. */
body.capo-checkout-document table,
body.capo-checkout-document .shop_table{width:100%!important;max-width:100%!important;table-layout:auto!important}
body.capo-checkout-document .product-wrap{min-width:0!important;max-width:100%!important}
body.capo-checkout-document .product-image img{max-width:72px!important;height:auto!important}

@media(max-width:980px){
  body.capo-checkout-document form.checkout.woocommerce-checkout{
    grid-template-columns:1fr!important;
    gap:24px!important;
  }
  body.capo-checkout-document form.checkout.woocommerce-checkout>.checkout-contents[data-tab-content-id="checkout-billing"],
  body.capo-checkout-document form.checkout.woocommerce-checkout>.checkout-contents[data-tab-content-id="checkout-payment"]{
    grid-column:1!important;
    grid-row:auto!important;
    position:static!important;
  }
}

@media(max-width:767px){
  body.capo-checkout-document .capo-embedded-checkout-shell{padding:15px!important}
  body.capo-checkout-document .woocommerce-billing-fields__field-wrapper{display:block!important}
  body.capo-checkout-document .order-review-inner{padding:16px!important}
}

/* =========================================================
   v10 — tabbed shortcode grids, cover images, checkout summary
========================================================= */

/* Product images should fill the card image area, not letterbox. */
.capo-product-card__image img,
.capo-reference-product-grids ul.products li.product img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
}

/* Horizontal category tabs for [capo_product_grid]. */
.capo-grid-tabs{
  display:flex;
  flex-wrap:nowrap;
  align-items:center;
  gap:12px;
  width:100%;
  margin:0 0 22px;
  padding:0 0 6px;
  overflow-x:auto;
  overflow-y:hidden;
  scrollbar-width:thin;
  -webkit-overflow-scrolling:touch;
}
.capo-grid-tab{
  flex:0 0 auto;
  min-height:44px;
  padding:0 18px!important;
  border:0!important;
  background:#111!important;
  color:#fff!important;
  font:inherit!important;
  font-weight:700!important;
  text-transform:uppercase;
  white-space:nowrap;
  box-shadow:none!important;
  cursor:pointer;
}
.capo-grid-tab:hover,
.capo-grid-tab.is-active{
  background:#761616!important;
  color:#fff!important;
}
.capo-grid-tab:hover,
.capo-grid-tab.is-active:hover{
  background:#2967d4!important;
  color:#fff!important;
}
.capo-grid-panel[hidden]{display:none!important}
.capo-grid-more-wrap{display:flex;justify-content:center;margin-top:24px}
.capo-grid-more{
  min-height:44px;
  padding:0 24px!important;
  border:0!important;
  background:#761616!important;
  color:#fff!important;
  font:inherit!important;
  font-weight:800!important;
  text-transform:uppercase;
  box-shadow:none!important;
  cursor:pointer;
}
.capo-grid-more:hover,
.capo-grid-more:focus,
.capo-grid-more:active{
  background:#2967d4!important;
  color:#fff!important;
}
.capo-grid-more[disabled]{opacity:.6;cursor:wait}

/* Checkout summary shortcode. */
.capo-checkout-summary-shortcode{
  width:100%;
  min-width:0;
  box-sizing:border-box;
  padding:18px;
  background:#1b1b1b;
  color:#fff;
}
.capo-checkout-summary-shortcode__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:16px;
}
.capo-checkout-summary-shortcode__head h3{margin:0!important;color:inherit!important}
.capo-checkout-summary-shortcode__meta{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-bottom:18px;
}
.capo-checkout-summary-shortcode__meta>div{
  min-width:0;
  padding:12px;
  background:#242424;
}
.capo-checkout-summary-shortcode__meta span{
  display:block;
  margin-bottom:4px;
  opacity:.65;
  font-size:.78em;
  text-transform:uppercase;
}
.capo-checkout-summary-shortcode__meta strong{display:block;overflow-wrap:anywhere}
.capo-checkout-summary-shortcode__items{display:grid;gap:10px}
.capo-checkout-summary-item{
  display:grid;
  grid-template-columns:64px minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  padding:10px 0;
  border-top:1px solid rgba(255,255,255,.12);
}
.capo-checkout-summary-item__image img{display:block!important;width:64px!important;height:64px!important;object-fit:cover!important;margin:0!important}
.capo-checkout-summary-item__main{min-width:0}
.capo-checkout-summary-item__main strong{display:block}
.capo-checkout-summary-item__main span{display:block;opacity:.7;margin-top:3px}
.capo-checkout-summary-item__price{white-space:nowrap;font-weight:700}
.capo-checkout-summary-shortcode__totals{margin-top:14px;padding-top:14px;border-top:1px solid rgba(255,255,255,.16)}
.capo-checkout-summary-shortcode__totals>div{display:flex;justify-content:space-between;gap:18px;margin-top:8px}
.capo-checkout-summary-shortcode__totals>div:last-child{font-size:1.15em}

/* Definitive CAPO accent behavior. */
.capo-product-card__badge,
.capo-grid-count button,
.capo-extra-count button,
.capo-product-modal__simple button:not(.capo-add),
.capo-order-type__option.is-active,
.capo-cart-bar,
.capo-checkout,
.capo-add,
.capo-options{
  color:#fff!important;
}
.capo-grid-count button:hover,
.capo-extra-count button:hover,
.capo-product-modal__simple button:not(.capo-add):hover,
.capo-order-type__option.is-active:hover,
.capo-cart-bar:hover,
.capo-checkout:hover,
.capo-add:hover,
.capo-options:hover{
  background:#2967d4!important;
  color:#fff!important;
}

@media(max-width:767px){
  .capo-grid-tabs{gap:8px;margin-bottom:16px}
  .capo-grid-tab{min-height:40px;padding:0 14px!important;font-size:13px!important}
  .capo-checkout-summary-shortcode{padding:14px}
  .capo-checkout-summary-shortcode__meta{grid-template-columns:1fr}
  .capo-checkout-summary-item{grid-template-columns:54px minmax(0,1fr) auto}
  .capo-checkout-summary-item__image img{width:54px!important;height:54px!important}
}


/* =========================================================
   v11 — theme typography + deterministic first tab
========================================================= */
/* Use the active theme typography everywhere inside CAPO UI. */
.capo-ordering,
.capo-ordering *,
.capo-checkout-summary,
.capo-checkout-summary *{
  font-family:inherit!important;
}

/* Explicit panel state: first/active tab is visible immediately. */
.capo-tabbed-grid .capo-grid-panel{display:none;}
.capo-tabbed-grid .capo-grid-panel.is-active:not([hidden]){display:block;}
.capo-tabbed-grid .capo-grid-panel[hidden]{display:none!important;}

/* =========================================================
   CAPO TYPOGRAPHY — v12
   Theme typography mapping requested by CAPO:
   - Headings + button/control text: Reggae One
   - General/body text: Poppins
   ========================================================= */

/* General plugin text */
.capo-ordering,
.capo-ordering input,
.capo-ordering select,
.capo-ordering textarea,
.capo-product-card,
.capo-product-card__title,
.capo-product-card__price,
.capo-product-modal,
.capo-product-modal__desc,
.capo-product-modal__ingredients,
.capo-product-modal__allergens,
.capo-cart-item,
.capo-cart-summary,
.capo-additional-info,
.capo-checkout-summary-card,
.capo-checkout-summary-card *,
.capo-checkout-readonly,
.capo-checkout-readonly *,
.capo-reference-product-grids ul.products li.product,
.capo-reference-product-grids ul.products li.product .woocommerce-loop-product__title,
.capo-reference-product-grids ul.products li.product .price,
.capo-reference-product-grids .portfolio-item.product:not(.owl-item).capo-global-card-ready,
.capo-reference-product-grids .portfolio-item.product:not(.owl-item).capo-global-card-ready .title a,
.capo-reference-product-grids .portfolio-item.product:not(.owl-item).capo-global-card-ready .price-wrap {
  font-family:'Poppins', sans-serif !important;
}

/* Every heading generated by the plugin */
.capo-ordering h2,
.capo-ordering h3,
.capo-ordering h4,
.capo-ordering h5,
.capo-ordering h6,
.capo-product-modal__heading h2,
.capo-drawer__head h2,
.capo-menu-section__head h2,
.capo-checkout-summary-card h2,
.capo-checkout-summary-card h3,
.capo-checkout-readonly h2,
.capo-checkout-readonly h3,
.capo-checkout-app__head h2 {
  font-family:'Reggae One', cursive !important;
  font-weight:400 !important;
}

/* Buttons, tabs and button-like controls */
.capo-ordering button,
.capo-ordering .button,
.capo-grid-tab,
.capo-grid-more,
.capo-add,
.capo-options,
.capo-cart-bar,
.capo-cart-bar *,
.capo-checkout,
.capo-go-checkout,
.capo-grid-count button,
.capo-extra-count button,
.capo-product-modal__simple button,
.capo-cart-item__controls button,
.capo-cart-remove,
.capo-favorite,
.capo-drawer__close,
.capo-modal__close,
.capo-checkout-app__close,
.capo-reference-product-grids ul.products li.product .button,
.capo-reference-product-grids .portfolio-item.product:not(.owl-item).capo-global-card-ready .button,
.capo-global-grid-action button {
  font-family:'Reggae One', cursive !important;
  font-weight:400 !important;
}

/* Keep form values / placeholders as Poppins even when controls sit near buttons. */
.capo-ordering input,
.capo-ordering textarea,
.capo-ordering select,
.capo-grid-qty,
.capo-extra-input,
.capo-modal-qty,
.capo-additional-wishes,
.capo-ordering__search {
  font-family:'Poppins', sans-serif !important;
}

/* =========================================================
   V13 category navigation + responsive hardening
   - desktop rail stays visually behind the site header
   - configurable category icons + hover labels
   - horizontal icon rail on tablet/mobile
   - larger touch targets and safer responsive spacing
========================================================= */
:root{
  --capo-header-height:96px;
  --capo-category-gap-top:24px;
}

/* Give the first menu category breathing room below the theme header. */
.capo-ordering__main{
  padding-top:32px;
}

/* Desktop category icon rail. It starts at the top of the viewport but its
   content is padded below the detected theme header so the header remains
   visually in front of the rail. */
.capo-category-rail{
  z-index:40!important;
  width:76px!important;
  padding:calc(var(--capo-header-height,96px) + var(--capo-category-gap-top,24px)) 10px 28px!important;
  overflow-x:visible!important;
}
.capo-ordering{
  padding-left:104px;
}
.capo-category-rail a{
  position:relative;
  flex:0 0 48px;
  width:48px!important;
  height:48px!important;
  overflow:visible!important;
  border-radius:6px!important;
  color:#fff!important;
}
.capo-category-rail a:hover,
.capo-category-rail a:focus-visible,
.capo-category-rail a.is-active{
  background:#761616!important;
  color:#fff!important;
  outline:none;
}
.capo-category-rail img{
  width:32px!important;
  height:32px!important;
  object-fit:contain!important;
}
.capo-category-rail__fallback{
  display:block;
  width:26px;
  height:26px;
  color:#fff;
}
.capo-category-rail__tooltip{
  position:absolute;
  z-index:100;
  left:calc(100% + 12px);
  top:50%;
  transform:translate(6px,-50%);
  display:block!important;
  width:max-content;
  max-width:240px;
  padding:8px 11px;
  border-radius:4px;
  background:#111;
  color:#fff!important;
  font-family:'Poppins',sans-serif!important;
  font-size:12px;
  font-weight:600!important;
  line-height:1.2;
  text-transform:none!important;
  white-space:nowrap;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  box-shadow:0 8px 24px rgba(0,0,0,.35);
  transition:opacity .18s ease,transform .18s ease,visibility .18s ease;
}
.capo-category-rail a:hover .capo-category-rail__tooltip,
.capo-category-rail a:focus-visible .capo-category-rail__tooltip{
  opacity:1;
  visibility:visible;
  transform:translate(0,-50%);
}
.capo-menu-section{
  scroll-margin-top:calc(var(--capo-header-height,96px) + 28px)!important;
}

/* Larger tap targets for ordering controls without changing visual footprint. */
@media (hover:none), (pointer:coarse){
  .capo-grid-count button,
  .capo-extra-count button,
  .capo-order-type__option,
  .capo-drawer__close,
  .capo-modal__close{
    min-width:42px;
    min-height:42px;
  }
}

/* Tablet: the vertical rail becomes a sticky horizontal icon strip so it
   never steals content width. */
@media(max-width:1180px){
  .capo-ordering{
    padding-left:22px!important;
    padding-right:22px!important;
  }
  .capo-ordering__main{
    padding-top:24px;
  }
  .capo-category-rail{
    position:sticky!important;
    top:var(--capo-header-height,0px)!important;
    left:auto!important;
    right:auto!important;
    bottom:auto!important;
    z-index:70!important;
    width:calc(100% + 44px)!important;
    height:68px!important;
    margin:0 -22px 8px!important;
    padding:10px 22px!important;
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    gap:10px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    overscroll-behavior-x:contain;
    -webkit-overflow-scrolling:touch;
    background:#1c1c1c!important;
  }
  .capo-category-rail a{
    flex:0 0 46px!important;
    width:46px!important;
    height:46px!important;
  }
  .capo-category-rail__tooltip{display:none!important}
  .capo-ordering__categories{display:none!important}
  .capo-menu-section{scroll-margin-top:calc(var(--capo-header-height,0px) + 82px)!important}
}

@media(max-width:767px){
  .capo-ordering{
    padding:0 15px 92px!important;
  }
  .capo-ordering__main{
    padding-top:20px;
  }
  .capo-category-rail{
    top:var(--capo-header-height,0px)!important;
    width:calc(100% + 30px)!important;
    height:62px!important;
    margin:0 -15px 6px!important;
    padding:8px 15px!important;
    gap:8px!important;
  }
  .capo-category-rail a{
    flex-basis:44px!important;
    width:44px!important;
    height:44px!important;
  }
  .capo-category-rail img{width:29px!important;height:29px!important}
  .capo-menu-section{scroll-margin-top:calc(var(--capo-header-height,0px) + 72px)!important}
  .capo-menu-section__head{align-items:center;flex-wrap:wrap}
  .capo-menu-section__head h2{font-size:26px!important}
  .capo-product-card__body{min-height:54px}
  .capo-product-card__footer{gap:5px}
  .capo-drawer__panel{width:100%!important;max-width:none!important}
}

@media(max-width:480px){
  .capo-product-grid,
  .capo-reference-product-grids ul.products{
    gap:10px 8px!important;
  }
  .capo-product-card{min-height:238px!important}
  .capo-product-card__image{height:116px!important}
  .capo-product-card__title{font-size:11px!important}
  .capo-product-card__price{font-size:12px!important}
  .capo-cart-bar{bottom:max(12px,env(safe-area-inset-bottom))!important}
}

/* =========================================================
   V14 desktop category rail position + unclipped hover label
========================================================= */
@media (min-width:1025px){
  .capo-category-rail{
    top:calc(var(--capo-header-height, 0px) + 18px)!important;
    bottom:18px!important;
    height:auto!important;
    max-height:calc(100vh - var(--capo-header-height, 0px) - 36px)!important;
    padding:12px 10px 22px!important;
    box-sizing:border-box!important;
    z-index:40!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
  }

  .capo-ordering__main{
    padding-top:42px!important;
  }

  .capo-menu-section{
    scroll-margin-top:calc(var(--capo-header-height,0px) + 34px)!important;
  }

  /* The old in-rail tooltip is intentionally hidden on desktop. A floating
     body-level tooltip is used instead so the rail's scroll container can
     never clip the category name. */
  .capo-category-rail__tooltip{
    display:none!important;
  }

  .capo-category-floating-tooltip{
    position:fixed;
    z-index:999999;
    left:0;
    top:0;
    width:max-content;
    max-width:min(280px, calc(100vw - 110px));
    padding:9px 12px;
    border-radius:4px;
    background:#111;
    color:#fff!important;
    font-family:'Poppins',sans-serif!important;
    font-size:13px;
    font-weight:600!important;
    line-height:1.2;
    text-transform:none!important;
    white-space:nowrap;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    box-shadow:0 8px 24px rgba(0,0,0,.38);
    transform:translateX(5px);
    transition:opacity .15s ease,transform .15s ease,visibility .15s ease;
  }
  .capo-category-floating-tooltip.is-visible{
    opacity:1;
    visibility:visible;
    transform:translateX(0);
  }
}


/* =========================================================
   V15 header-connected category rail
   - rail background touches the current header exactly
   - spacing is internal padding, never an external top gap
   - removes accumulated V13/V14 desktop top spacing
========================================================= */
@media (min-width:1025px){
  .capo-ordering{
    padding-top:32px!important;
  }
  .capo-ordering__main{
    padding-top:0!important;
  }
  .capo-category-rail{
    top:var(--capo-header-bottom, var(--capo-header-height, 0px))!important;
    bottom:0!important;
    height:auto!important;
    max-height:calc(100vh - var(--capo-header-bottom, var(--capo-header-height, 0px)))!important;
    padding:20px 10px 24px!important;
    margin:0!important;
    border-top:0!important;
    box-sizing:border-box!important;
  }
  .capo-menu-section{
    scroll-margin-top:calc(var(--capo-header-bottom, var(--capo-header-height, 0px)) + 24px)!important;
  }
}


/* =========================================================
   V16 order drawer layering / close control
   - force the ordering app above TheGem sticky header while open
   - keep the backdrop beneath the panel
   - move the drawer close button to the left side of the header
========================================================= */
body.capo-drawer-open .capo-ordering{
  position:relative!important;
  z-index:2147483600!important;
}
body.capo-drawer-open .capo-drawer{
  z-index:2147483646!important;
  isolation:isolate!important;
}
body.capo-drawer-open .capo-drawer__backdrop{
  z-index:1!important;
}
body.capo-drawer-open .capo-drawer__panel{
  z-index:2!important;
}
.capo-drawer__head{
  justify-content:flex-start!important;
}
.capo-drawer__close{
  order:-1!important;
  flex:0 0 40px!important;
  margin:0 12px 0 0!important;
  position:relative!important;
  left:auto!important;
  right:auto!important;
  top:auto!important;
}
.capo-drawer__head h2{
  order:0!important;
  margin:0!important;
}

@media (max-width:767px){
  .capo-drawer__close{
    flex-basis:44px!important;
    width:44px!important;
    height:44px!important;
    margin-right:10px!important;
  }
}
\n\n/* =========================================================\n   V17 BODY-PORTALED ORDER DRAWER\n   The drawer is moved to document.body by order.js, which means\n   TheGem's sticky header can no longer create a higher parent\n   stacking context above it.\n========================================================= */\nbody > .capo-drawer.capo-drawer--body-portal{\n  position:fixed!important;\n  inset:0!important;\n  width:100vw!important;\n  height:100vh!important;\n  max-width:none!important;\n  max-height:none!important;\n  margin:0!important;\n  transform:none!important;\n  z-index:2147483646!important;\n  isolation:isolate!important;\n}\nbody > .capo-drawer.capo-drawer--body-portal .capo-drawer__backdrop{\n  position:fixed!important;\n  inset:0!important;\n  width:100vw!important;\n  height:100vh!important;\n  z-index:0!important;\n}\nbody > .capo-drawer.capo-drawer--body-portal .capo-drawer__panel{\n  position:fixed!important;\n  top:0!important;\n  right:0!important;\n  bottom:0!important;\n  left:auto!important;\n  width:min(760px,100vw)!important;\n  height:100vh!important;\n  max-height:100vh!important;\n  margin:0!important;\n  z-index:1!important;\n}\nbody > .capo-drawer.capo-drawer--body-portal .capo-drawer__head{\n  position:relative!important;\n  z-index:2!important;\n  display:flex!important;\n  align-items:center!important;\n  justify-content:flex-start!important;\n}\nbody > .capo-drawer.capo-drawer--body-portal .capo-drawer__close{\n  position:relative!important;\n  order:-1!important;\n  left:auto!important;\n  right:auto!important;\n  top:auto!important;\n  margin:0 14px 0 0!important;\n  flex:0 0 42px!important;\n  width:42px!important;\n  height:42px!important;\n  z-index:3!important;\n}\nbody.capo-drawer-open{\n  overflow:hidden!important;\n}\n@media (max-width:767px){\n  body > .capo-drawer.capo-drawer--body-portal .capo-drawer__panel{\n    width:100vw!important;\n    max-width:100vw!important;\n  }\n}\n

/* =========================================================
   V18 typography enforcement + calendar date field
   CAPO theme typography:
   - Reggae One for headings, tabs and button/control labels
   - Poppins for all ordinary copy, product text, prices and inputs
========================================================= */
.capo-ordering,
.capo-drawer,
.capo-modal,
.capo-checkout-summary-shortcode,
.capo-checkout-summary,
.capo-reference-product-grids,
.capo-ordering p,.capo-drawer p,.capo-modal p,.capo-checkout-summary-shortcode p,
.capo-ordering span:not(.screen-reader-text),.capo-drawer span:not(.screen-reader-text),.capo-modal span:not(.screen-reader-text),.capo-checkout-summary-shortcode span:not(.screen-reader-text),
.capo-ordering strong,.capo-drawer strong,.capo-modal strong,.capo-checkout-summary-shortcode strong,
.capo-ordering label,.capo-drawer label,.capo-modal label,.capo-checkout-summary-shortcode label,
.capo-ordering a,.capo-drawer a,.capo-modal a,.capo-checkout-summary-shortcode a,
.capo-ordering input,.capo-drawer input,.capo-modal input,.capo-checkout-summary-shortcode input,
.capo-ordering select,.capo-drawer select,.capo-modal select,.capo-checkout-summary-shortcode select,
.capo-ordering textarea,.capo-drawer textarea,.capo-modal textarea,.capo-checkout-summary-shortcode textarea,
.capo-product-card__title,.capo-product-card__price,
.capo-cart-item,.capo-cart-summary,.capo-additional-info{
  font-family:'Poppins',sans-serif!important;
}

.capo-ordering h2,.capo-ordering h3,.capo-ordering h4,.capo-ordering h5,.capo-ordering h6,
.capo-drawer h2,.capo-drawer h3,.capo-drawer h4,.capo-drawer h5,.capo-drawer h6,
.capo-modal h2,.capo-modal h3,.capo-modal h4,.capo-modal h5,.capo-modal h6,
.capo-checkout-summary-shortcode h2,.capo-checkout-summary-shortcode h3,.capo-checkout-summary-shortcode h4,.capo-checkout-summary-shortcode h5,.capo-checkout-summary-shortcode h6,
.capo-ordering button,.capo-ordering .button,
.capo-drawer button,.capo-drawer .button,
.capo-modal button,.capo-modal .button,
.capo-checkout-summary-shortcode button,.capo-checkout-summary-shortcode .button,
.capo-grid-tab,.capo-grid-more,.capo-cart-bar,.capo-cart-bar *{
  font-family:'Reggae One',cursive!important;
  font-weight:400!important;
}

/* Product names/prices and form values are ordinary text, not headings. */
.capo-product-card__title,.capo-product-card__price,
.capo-cart-item strong,.capo-cart-summary strong,
.capo-order-date,.capo-order-time,.capo-extra-input,.capo-additional-wishes,
.capo-personal-name,.capo-personal-phone,.capo-personal-email{
  font-family:'Poppins',sans-serif!important;
}

/* Native browser calendar picker: today onward only; JS also enforces
   configured working days and the admin-configured future-day window. */
.capo-order-date{
  width:100%!important;
  min-width:0!important;
  color-scheme:dark;
  cursor:pointer;
}
.capo-order-date::-webkit-calendar-picker-indicator{
  cursor:pointer;
  opacity:1;
}

/* =========================================================
   V19 LIVE THEME TYPOGRAPHY
   The drawer is portaled directly under <body>, so plain inheritance can
   miss typography coming from the theme's content wrappers. JS measures
   the active theme's real computed fonts and exposes them through these
   variables. This keeps CAPO aligned with theme changes without hardcoding
   Google-font names inside the plugin.
========================================================= */
:root{
  --capo-theme-body-font: inherit;
  --capo-theme-heading-font: inherit;
}

.capo-ordering,
.capo-drawer,
.capo-modal,
.capo-checkout-summary-shortcode,
.capo-checkout-summary,
.capo-reference-product-grids,
.capo-ordering p,.capo-drawer p,.capo-modal p,.capo-checkout-summary-shortcode p,
.capo-ordering span:not(.screen-reader-text),.capo-drawer span:not(.screen-reader-text),.capo-modal span:not(.screen-reader-text),.capo-checkout-summary-shortcode span:not(.screen-reader-text),
.capo-ordering strong,.capo-drawer strong,.capo-modal strong,.capo-checkout-summary-shortcode strong,
.capo-ordering label,.capo-drawer label,.capo-modal label,.capo-checkout-summary-shortcode label,
.capo-ordering a,.capo-drawer a,.capo-modal a,.capo-checkout-summary-shortcode a,
.capo-ordering input,.capo-drawer input,.capo-modal input,.capo-checkout-summary-shortcode input,
.capo-ordering select,.capo-drawer select,.capo-modal select,.capo-checkout-summary-shortcode select,
.capo-ordering textarea,.capo-drawer textarea,.capo-modal textarea,.capo-checkout-summary-shortcode textarea,
.capo-product-card__title,.capo-product-card__price,
.capo-cart-item,.capo-cart-summary,.capo-additional-info,
.capo-cart-item strong,.capo-cart-summary strong,
.capo-order-date,.capo-order-time,.capo-extra-input,.capo-additional-wishes,
.capo-personal-name,.capo-personal-phone,.capo-personal-email{
  font-family:var(--capo-theme-body-font)!important;
}

.capo-ordering h2,.capo-ordering h3,.capo-ordering h4,.capo-ordering h5,.capo-ordering h6,
.capo-drawer h2,.capo-drawer h3,.capo-drawer h4,.capo-drawer h5,.capo-drawer h6,
.capo-modal h2,.capo-modal h3,.capo-modal h4,.capo-modal h5,.capo-modal h6,
.capo-checkout-summary-shortcode h2,.capo-checkout-summary-shortcode h3,.capo-checkout-summary-shortcode h4,.capo-checkout-summary-shortcode h5,.capo-checkout-summary-shortcode h6,
.capo-ordering button,.capo-ordering .button,
.capo-drawer button,.capo-drawer .button,
.capo-modal button,.capo-modal .button,
.capo-checkout-summary-shortcode button,.capo-checkout-summary-shortcode .button,
.capo-grid-tab,.capo-grid-more,.capo-cart-bar,.capo-cart-bar *{
  font-family:var(--capo-theme-heading-font)!important;
}

/* Make the complete visible date field behave as the calendar trigger. */
.capo-order-date,
.capo-order-date *{
  cursor:pointer!important;
}

/* =========================================================
   V19.1 ordering boundary + consistent button geometry
========================================================= */
/* Desktop rail remains header-connected, while order.js dynamically raises
   its bottom edge when the CAPO body ends so it can never cover the footer. */
@media (min-width:1025px){
  .capo-category-rail{
    box-sizing:border-box!important;
    margin:0!important;
  }
}

/* Normalize visual centering and equal spacing on CAPO action buttons. */
.capo-ordering button,
.capo-drawer button,
.capo-modal button,
.capo-checkout-summary-shortcode button,
.capo-cart-bar__label,
.capo-add,
.capo-options,
.capo-grid-more,
.capo-grid-tab,
.capo-order-type__option,
.capo-proceed,
.capo-grid-count button,
.capo-extra-count button,
.capo-cart-item__controls button,
.capo-product-modal__simple button{
  box-sizing:border-box!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  vertical-align:middle!important;
  line-height:1.2!important;
}
.capo-add,
.capo-options,
.capo-grid-more,
.capo-order-type__option,
.capo-proceed,
.capo-cart-bar__label{
  padding-top:10px!important;
  padding-bottom:10px!important;
}
.capo-cart-bar__label{
  min-height:40px!important;
  height:auto!important;
}
\n\n/* =========================================================
   V19.2 footer boundary + order bar geometry
========================================================= */
.capo-cart-bar{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:max-content!important;
  min-width:0!important;
  height:auto!important;
  min-height:58px!important;
  padding:7px!important;
  gap:12px!important;
  line-height:1!important;
}
.capo-cart-bar__count,
.capo-cart-bar__total{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:44px!important;
  margin:0!important;
  padding:0!important;
  line-height:1.15!important;
}
.capo-cart-bar__label{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  height:44px!important;
  min-height:44px!important;
  margin:0!important;
  padding:0 16px!important;
  line-height:1!important;
  text-align:center!important;
}
@media(max-width:767px){
  .capo-cart-bar{
    left:15px!important;
    right:15px!important;
    width:auto!important;
    min-height:54px!important;
    padding:7px!important;
    transform:none!important;
    gap:9px!important;
  }
  .capo-cart-bar__total{margin-left:auto!important;}
  .capo-cart-bar__label{height:40px!important;min-height:40px!important;padding:0 14px!important;}
}


/* =========================================================
   V19.4 category landing links + 16px tab typography
========================================================= */
.capo-grid-tab{
  font-size:16px!important;
}
@media(max-width:767px){
  .capo-grid-tab{font-size:16px!important;}
}


/* =========================================================
   V19.8 — PRODUCT MODAL ABOVE THEGEM MOBILE HEADER
   Keep the modal in its original DOM position so its established layout
   remains untouched. While open, raise the complete CAPO ordering stacking
   context above the theme header, then put the modal at the maximum layer.
========================================================= */
body.capo-product-modal-open .capo-ordering{
  position:relative!important;
  z-index:2147483646!important;
}
body.capo-product-modal-open .capo-modal{
  position:fixed!important;
  inset:0!important;
  z-index:2147483647!important;
  isolation:isolate!important;
}
body.capo-product-modal-open .capo-modal__backdrop{
  z-index:0!important;
}
body.capo-product-modal-open .capo-modal__panel{
  z-index:1!important;
}
body.capo-product-modal-open .capo-modal__close{
  z-index:3!important;
}

/* TheGem can assign very high layers to sticky/mobile header wrappers.
   Lower them only while the CAPO product modal is open. */
@media (max-width:1180px){
  body.capo-product-modal-open header,
  body.capo-product-modal-open #site-header,
  body.capo-product-modal-open .site-header,
  body.capo-product-modal-open .header-wrapper,
  body.capo-product-modal-open .header-background,
  body.capo-product-modal-open .mobile-menu-layout-default,
  body.capo-product-modal-open .mobile-menu-layout-overlay{
    z-index:1!important;
  }
}

/* V20 — one-panel WooCommerce order completion */
.capo-inline-checkout{margin-top:20px;padding-top:18px;border-top:1px solid var(--capo-line)}
.capo-inline-checkout__title{margin-bottom:16px;color:#fff;font-size:24px;font-weight:800;text-transform:uppercase}
.capo-inline-section-title{margin:14px 0 10px;color:#fff;font-weight:800;text-transform:uppercase}
.capo-address-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.capo-address-grid input{width:100%;min-height:46px;padding:0 13px!important;border:1px solid var(--capo-line)!important;border-radius:6px!important;background:#111!important;color:#fff!important;box-sizing:border-box}
.capo-address-street{grid-column:1/-1}
.capo-payment-method{display:block;margin:0 0 10px;padding:13px;border:1px solid var(--capo-line);border-radius:7px;background:#111;color:#fff;cursor:pointer}
.capo-payment-method>span{display:flex;align-items:center;gap:9px;font-weight:700}
.capo-payment-box{margin-top:10px;color:#bbb;font-size:14px}.capo-payment-box:empty{display:none}
.capo-inline-totals{margin-top:16px;padding:14px;background:#111;border-radius:7px}
.capo-inline-totals>div{display:flex;justify-content:space-between;gap:18px;padding:7px 0;color:#ddd}
.capo-inline-totals .capo-inline-total{margin-top:5px;padding-top:12px;border-top:1px solid var(--capo-line);color:#fff;font-size:20px;font-weight:800}
.capo-place-order{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;min-height:50px!important;margin-top:14px!important;padding:12px 18px!important;border:0!important;border-radius:7px!important;background:#761616!important;color:#fff!important;font-weight:800!important;text-align:center!important;line-height:1.2!important;text-transform:uppercase;cursor:pointer}
.capo-place-order:hover{background:#2967d4!important;color:#fff!important}.capo-place-order:disabled{opacity:.55;cursor:wait}
.capo-inline-checkout__notice{margin-top:10px;color:#f2d9a8}.capo-inline-checkout__notice:empty{display:none}
.capo-order-type--pickup .capo-delivery-address{display:none!important}
@media(max-width:767px){.capo-address-grid{grid-template-columns:1fr}.capo-address-street{grid-column:auto}.capo-inline-checkout__title{font-size:20px}}


/* V20.1 — checkout is permanently part of the order panel; no intermediate PROCEED step */
.capo-inline-checkout[hidden]{display:block!important;}
.capo-cart-summary--items{margin-bottom:4px!important;}
.capo-cart-summary--items .capo-cart-summary__line{margin-bottom:0!important;}

/* V20.2 — site-wide sticky cart shell. The shell itself occupies no page space;
   only its fixed cart bar/drawer/modal are visible. */
.capo-ordering.capo-global-cart-shell{
  position:static!important;
  width:0!important;
  height:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  overflow:visible!important;
}


/* =========================================================
   CAPO 20.3.2 — Red premium storefront
   ========================================================= */
:root { --capo-accent:#761616; --capo-accent-soft:#9c4444; }

/* Preserve the original source image's detail by requesting
   WooCommerce's larger single-product rendition in PHP. */
.capo-product-card__image,
.capo-reference-product-grids ul.products li.product .image,
.capo-reference-product-grids ul.products li.product a.woocommerce-LoopProduct-link {
  overflow:hidden!important;
}
.capo-product-card__image img,
.capo-reference-product-grids ul.products li.product img,
.capo-reference-product-grids .portfolio-item.product.capo-global-card-ready .image-inner img {
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
  image-rendering:auto!important;
  transition:transform .4s cubic-bezier(.2,.7,.2,1),filter .35s ease!important;
}
.capo-product-card:hover .capo-product-card__image img,
.capo-reference-product-grids ul.products li.product:hover img,
.capo-reference-product-grids .portfolio-item.product.capo-global-card-ready:hover .image-inner img {
  transform:scale(1.045);
}

/* Depth and detailing without changing product layout or controls. */
.capo-product-card,
.capo-reference-product-grids ul.products li.product,
.capo-reference-product-grids .portfolio-item.product.capo-global-card-ready {
  background:linear-gradient(160deg,#252525 0%,#171717 100%)!important;
  border:1px solid rgba(182,133,47,.24)!important;
  border-radius:12px!important;
  box-shadow:0 7px 22px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.045)!important;
  transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease!important;
}
.capo-product-card:hover,
.capo-reference-product-grids ul.products li.product:hover,
.capo-reference-product-grids .portfolio-item.product.capo-global-card-ready:hover {
  transform:translateY(-4px);
  border-color:rgba(182,133,47,.65)!important;
  box-shadow:0 16px 34px rgba(0,0,0,.4),0 0 0 1px rgba(182,133,47,.13)!important;
}
.capo-product-card__image {
  border-radius:8px!important;
  background:#111!important;
}
.capo-product-card__title,
.capo-reference-product-grids ul.products li.product .woocommerce-loop-product__title,
.capo-reference-product-grids .portfolio-item.product.capo-global-card-ready .title a {
  color:#f2f0eb!important;
  font-weight:700!important;
}
.capo-product-card__price {color:#fff!important;}

/* All plugin accents, including homepage category tabs and sticky cart. */
.capo-grid-tab.is-active,
.capo-grid-tab:hover,
.capo-cart-bar,
.capo-place-order {
  background:#761616!important;
  color:#fff!important;
}
.capo-cart-bar *, .capo-cart-bar__count,.capo-cart-bar__total {color:#fff!important;}
.capo-cart-bar {
  border:1px solid rgba(255,255,255,.22)!important;
  box-shadow:0 12px 34px rgba(0,0,0,.36),0 2px 0 rgba(255,255,255,.14) inset!important;
}
.capo-cart-bar__label {background:#161616!important;color:#fff!important;}
.capo-product-modal__heading h4 {
  margin:0!important;
  color:#fff!important;
  font-size:clamp(22px,2.2vw,34px)!important;
  font-weight:800!important;
  line-height:1.15!important;
  text-transform:uppercase;
}
/* The existing blue hover state remains as configured. */
@media (prefers-reduced-motion:reduce){
  .capo-product-card,.capo-product-card__image img,
  .capo-reference-product-grids ul.products li.product,
  .capo-reference-product-grids ul.products li.product img {transition:none!important;transform:none!important;}
}
