/* Kiddie Depot: styles for the WordPress and WooCommerce markup. Loads after theme.css. */

/* ---------- utilities ---------- */
.sr,.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip-link:focus{position:fixed;left:16px;top:16px;width:auto;height:auto;margin:0;padding:12px 16px;clip:auto;background:var(--surface);color:var(--ink);border-radius:var(--btn-r);box-shadow:var(--lift-2);z-index:200;font-weight:600}
.is-busy{opacity:.6;pointer-events:none}
.kdh .cartbtn .kd-cart-status{display:contents}
.kdh .tbtn.acct{text-decoration:none}
.kdh .cartbtn{text-decoration:none}

/* drawer body sits between the head and the note */
.drawer .dr-body{flex:1;display:flex;flex-direction:column;min-height:0}
.drawer .dr-items h4 a{color:inherit}
.drawer .dr-item .th{background-size:cover;background-position:center}

/* mega menu fallback rows */
.kdh .mdrawer .dcols:empty{display:none}
.kdh .dtop:has(.dcols:empty){grid-template-columns:1fr}

/* legal tabs and account nav as links */
.pg-tabs a{font:600 var(--fs-sm) var(--ft);border:1.5px solid var(--rule);background:var(--surface);color:var(--ink);border-radius:999px;min-height:38px;padding:0 16px;display:inline-flex;align-items:center;text-decoration:none;transition:border-color .16s,color .16s}
.pg-tabs a:hover{border-color:var(--copper);color:var(--copper-pressed)}
.pg-tabs a[aria-pressed="true"]{border-color:var(--copper);background:rgba(var(--copper-rgb),.12);color:var(--copper-pressed)}
.pg-tabs{flex-wrap:wrap}

/* notices */
.kd-notice{margin-bottom:16px}
.kd-notice b{display:block;font-size:var(--fs-base);margin-bottom:4px}
.kd-notice p{font-size:var(--fs-base);color:var(--ink-soft)}
.kd-notice.err{border-color:var(--copper-pressed)}
.woocommerce-message,.woocommerce-error,.woocommerce-info,.woocommerce-notice,.wc-block-components-notice-banner{list-style:none;margin:0 0 16px;padding:12px 16px;border-radius:12px;background:var(--surface);border:1.5px solid var(--sage);font-size:var(--fs-base);line-height:var(--lh-body);color:var(--ink);box-shadow:var(--lift-1)}
.woocommerce-error{border-color:var(--copper-pressed)}
.woocommerce-error li+li,.woocommerce-message li+li{margin-top:4px}
.woocommerce-message .button,.woocommerce-info .button,.woocommerce-error .button{float:right;margin-left:12px;font:600 var(--fs-sm) var(--ft);color:var(--ink);background:none;border:0;padding:0;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.woocommerce-notices-wrapper:empty,.woocommerce-NoticeGroup:empty{display:none}
#kd-category .woocommerce-notices-wrapper,#kd-product .woocommerce-notices-wrapper{margin-top:16px}
.woocommerce-invalid input,.woocommerce-invalid select,.woocommerce-invalid textarea{border-color:var(--copper-pressed)!important}
.woocommerce-invalid .select2-selection{border-color:var(--copper-pressed)!important}

/* ---------- WooCommerce form rows inside .pg-form ---------- */
.pg-form .form-row{margin:0;padding:0;display:block}
.pg-form .form-row label{display:block;font-size:var(--fs-sm);font-weight:600;color:var(--ink)}
.pg-form .form-row .woocommerce-input-wrapper{display:block;margin-top:4px}
.pg-form .form-row .required{color:var(--ink);text-decoration:none}
.pg-form .form-row .optional{font-size:var(--fs-xs);font-weight:400;color:var(--ink-soft);margin-left:4px}
.pg-form .form-row .input-text,.pg-form .form-row select,.pg-form .form-row textarea{width:100%;font:500 var(--fs-base)/var(--lh-body) var(--ft);color:var(--ink);background:var(--surface);border:1.5px solid var(--rule);border-radius:var(--btn-r);min-height:46px;padding:8px 12px;outline:0;transition:border-color .16s,box-shadow .16s}
.pg-form .form-row textarea{min-height:90px;resize:vertical}
.pg-form .form-row .input-text:focus,.pg-form .form-row select:focus,.pg-form .form-row textarea:focus{border-color:var(--copper);box-shadow:0 0 0 3px rgba(var(--copper-rgb),.25)}
.woocommerce-billing-fields__field-wrapper,.woocommerce-shipping-fields__field-wrapper,.woocommerce-additional-fields__field-wrapper,.pg-form div.create-account{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start}
.pg-form .form-row.form-row-wide,.pg-form .form-row.notes,.pg-form .woocommerce-account-fields{grid-column:1/-1}
.pg-form .form-row.woocommerce-validated .input-text{border-color:var(--sage)}
.pg-form .check{padding-top:4px}
.pg-form .woocommerce-account-fields{padding-top:4px}
.pg-form .woocommerce-account-fields div.create-account{margin-top:12px}
.pg-form .form-row .woocommerce-password-strength{font-size:var(--fs-xs);margin-top:4px;color:var(--ink-soft)}
.pg-form .form-row .woocommerce-password-hint{font-size:var(--fs-xs);color:var(--ink-soft);display:block;margin-top:4px}
.pg-form .form-row .show-password-input{display:none}
@media (max-width:639px){.woocommerce-billing-fields__field-wrapper,.woocommerce-shipping-fields__field-wrapper,.pg-form div.create-account{grid-template-columns:1fr}.pg-form .form-row{grid-column:1/-1}}

/* selectWoo (country and province) */
.pg-form .select2-container{width:100%!important;margin-top:4px}
.pg-form .select2-container .select2-selection--single{height:46px;border:1.5px solid var(--rule);border-radius:var(--btn-r);background:var(--surface)}
.pg-form .select2-container .select2-selection--single .select2-selection__rendered{line-height:43px;padding-left:12px;font:500 var(--fs-base)/43px var(--ft);color:var(--ink)}
.pg-form .select2-container .select2-selection--single .select2-selection__arrow{height:44px;right:8px}
.pg-form .select2-container--focus .select2-selection--single,.pg-form .select2-container--open .select2-selection--single{border-color:var(--copper);box-shadow:0 0 0 3px rgba(var(--copper-rgb),.25)}
.select2-dropdown{border:1.5px solid var(--rule);border-radius:var(--btn-r);font-family:var(--ft);box-shadow:var(--lift-2)}
.select2-container--default .select2-results__option--highlighted[aria-selected]{background:var(--ink)}
.select2-container--default .select2-search--dropdown .select2-search__field{border:1.5px solid var(--rule);border-radius:6px;padding:8px 8px;font-family:var(--ft)}

/* ---------- shop archive ---------- */
.woocommerce-result-count,.woocommerce-ordering{display:none}
.woocommerce-pagination{margin-top:32px}
.woocommerce-pagination ul.page-numbers{list-style:none;margin:0;padding:0;display:flex;gap:8px;justify-content:center;flex-wrap:wrap}
.woocommerce-pagination .page-numbers li > a,.woocommerce-pagination .page-numbers li > span{  /* direct children only, so the arrow shape inside prev and next keeps its own style */
  min-width:44px;height:44px;display:grid;place-items:center;border:1.5px solid var(--rule);border-radius:var(--btn-r);font-size:var(--fs-sm);font-weight:600;padding:0 12px;background:var(--surface);color:var(--ink);text-decoration:none}
.woocommerce-pagination .page-numbers li > span.current{background:var(--ink);color:#FFFFFF;border-color:var(--ink)}
.woocommerce-pagination .page-numbers li > a:hover{border-color:var(--copper);color:var(--copper-pressed)}
.pager .nav-links{display:flex;gap:8px;flex-wrap:wrap}
.pager .nav-links .page-numbers{min-width:44px;height:44px;display:grid;place-items:center;border:1.5px solid var(--rule);border-radius:var(--btn-r);font-size:var(--fs-sm);font-weight:600;padding:0 12px;background:var(--surface)}
.pager .nav-links .page-numbers.current{background:var(--ink);color:#FFFFFF;border-color:var(--ink)}
.af-link[aria-disabled="true"]{color:var(--af-line);pointer-events:none}
.af-ghost[aria-disabled="true"]{color:var(--af-line);pointer-events:none}
.af-active .af-link{padding:4px 8px}
.af-pill{text-decoration:none}
.af-sc{text-decoration:none}
.af-cb[data-indeterminate]{background:var(--ink);border-color:var(--ink)}
.sl-card h3 a{color:inherit;text-decoration:none}
.sl-img{text-decoration:none;display:grid;position:relative}
.sl-img .sl-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:inherit;z-index:0}
.sl-img .sl-wish,.sl-img .sl-ribbon{z-index:2}
.sl-add{text-decoration:none}
a.sl-add[aria-disabled="true"]{cursor:default}
.sl-grid .af-empty{grid-column:1/-1}
#kd-category .sl-grid{margin-top:24px}

/* ---------- product page: assets/css/product.css (loaded on product pages only) ---------- */
.single_variation_wrap .woocommerce-variation{margin-top:12px;font-size:var(--fs-sm);color:var(--ink-soft)}
.single_variation_wrap .woocommerce-variation-price{display:none}
.single_variation_wrap .woocommerce-variation-availability .stock{margin:0;font-weight:600;color:var(--ink)}
.single_variation_wrap .woocommerce-variation-availability .out-of-stock{color:var(--copper-pressed)}
.single_variation_wrap .woocommerce-variation-description p{margin-top:8px}

/* ---------- cart page ---------- */
.woocommerce-cart-form{display:block}
.cart-line .kd-qty{display:flex;align-items:center;border:1.5px solid var(--rule);border-radius:var(--btn-r);min-height:38px;background:var(--surface)}
.cart-line .kd-qty button{width:30px;border:0;background:transparent;cursor:pointer;color:var(--ink);font-size:var(--fs-base);font-family:var(--ft)}
.cart-line .kd-qty .quantity{display:contents}
.cart-line .kd-qty input.qty{width:36px;min-width:24px;text-align:center;font:600 var(--fs-sm) var(--ft);border:0;background:transparent;color:var(--ink);-moz-appearance:textfield;appearance:textfield;padding:0}
.cart-line .kd-qty input.qty::-webkit-outer-spin-button,.cart-line .kd-qty input.qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.cart-line .info h3 a{color:inherit}
.cart-line .th{background-size:cover;background-position:center;display:block}
.cart-line .dr-rm{display:inline-block;margin-top:8px}
.ct-items .cart-line .info .v{margin-top:4px}
.ct-foot .cart-coupon{display:flex;gap:8px}
.ct-foot .kd-update-cart{margin-left:auto}
.ct-sum .cart-sum .cart-discount span:last-child{color:var(--ink)}
.ct-sum .cart-sum .woocommerce-remove-coupon{margin-left:4px;font-size:var(--fs-xs);color:var(--ink-soft)}
.wc-proceed-to-checkout{margin-top:16px}
.ct-sum .cart_totals>small{display:block;margin-top:12px;font-size:var(--fs-xs);color:var(--ink-soft);text-align:center}
.ct-sum h2{font-size:var(--fs-h3);margin-bottom:12px}
.ct-items .cart-empty{padding:24px 0 0}
.cart-empty .btn{display:inline-flex}
#kd-cart .ct-grid{margin-top:clamp(24px,3.2vw,32px)}
#kd-cart .band .band-head,#kd-cart .band .sl-block{padding:0}
#kd-cart .band{padding-top:var(--sp)}
.ct-items .woocommerce-notices-wrapper{padding-top:12px}
.woocommerce-cart .woocommerce>.woocommerce-notices-wrapper{margin-top:16px}

/* ---------- checkout ---------- */
form.woocommerce-checkout.co-grid{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:clamp(24px,3vw,48px);align-items:start;padding-top:calc(var(--sp) * .5)}
@media (max-width:980px){form.woocommerce-checkout.co-grid{grid-template-columns:1fr}}
.co-main .co-sec+.co-sec{margin-top:16px}
.co-sec .co-notes{margin-top:12px}
.co-sec .woocommerce-account-fields{margin-top:12px}
#kd-checkout .woocommerce-form-login-toggle{display:none}
.co-sec .woocommerce-additional-fields__field-wrapper textarea{min-height:80px}
.woocommerce-shipping-fields .co-sec{margin-top:16px}
.woocommerce-shipping-fields .shipping_address{display:none}
.co-delivery .hint{font-size:var(--fs-sm);color:var(--ink-soft)}
.co-delivery .pg-choice input[disabled]{accent-color:var(--copper)}
.co-side .co-items .co-item:first-child{border-top:0}
.co-side .shop_table{display:block}
.co-side .cart-sum .shipping span:last-child{white-space:nowrap}
#payment.co-pay-block{margin-top:16px}
#payment .payment_methods{list-style:none;margin:0;padding:0}
#payment .payment_methods li{display:block}
#payment .payment_methods li label{display:flex;gap:12px;align-items:flex-start;padding:12px 12px;border:1.5px solid var(--rule);border-radius:12px;background:var(--surface);cursor:pointer;font-weight:500;font-size:var(--fs-sm);line-height:var(--lh-body)}
#payment .payment_methods li label:has(input:checked){border-color:var(--copper);background:rgba(var(--copper-rgb),.10);box-shadow:inset 0 0 0 1px var(--copper)}
#payment .payment_methods li label>span{flex:1}
#payment .payment_methods li label b{display:block;font-weight:700}
#payment .payment_methods li label b img{height:20px;width:auto;vertical-align:middle;margin-left:4px}
#payment .payment_methods li label small{display:block;color:var(--ink-soft);font-size:var(--fs-xs);line-height:var(--lh-body);margin-top:4px}
#payment .payment_methods li label small p{margin:0}
#payment .payment_methods li label small p+p{margin-top:4px}
#payment .payment_methods li+li{margin-top:8px}
#payment .place-order{margin-top:12px}
#payment .woocommerce-terms-and-conditions-wrapper .form-row{margin:0}
#payment .woocommerce-terms-and-conditions{display:none}
#payment .place-order .btn-block{margin-top:12px}
#payment .place-order .woocommerce-terms-and-conditions-wrapper+.btn-block{margin-top:12px}
.woocommerce-checkout .blockUI.blockOverlay{border-radius:16px}
.woocommerce-checkout .woocommerce-NoticeGroup{grid-column:1/-1}
.woocommerce-checkout-review-order-table .cart-sum .shipping span:first-child{max-width:60%}
#kd-checkout .woocommerce-form-login-toggle,#kd-checkout .woocommerce-form-coupon-toggle{margin-top:16px}
#kd-checkout .checkout_coupon,#kd-checkout .woocommerce-form-login{margin-top:12px}
#kd-checkout form.checkout_coupon,#kd-checkout form.woocommerce-form-login{display:flex;flex-wrap:wrap;gap:12px;align-items:end;background:var(--surface);border:1px solid var(--rule);border-radius:16px;padding:16px}
#kd-checkout form.checkout_coupon .form-row,#kd-checkout form.woocommerce-form-login .form-row{margin:0;flex:1 1 200px}
#kd-checkout form.checkout_coupon .input-text,#kd-checkout form.woocommerce-form-login .input-text{width:100%;font:500 var(--fs-base)/var(--lh-body) var(--ft);border:1.5px solid var(--rule);border-radius:var(--btn-r);min-height:46px;padding:8px 12px}
#kd-checkout form.checkout_coupon .button,#kd-checkout form.woocommerce-form-login .button{min-height:46px;padding:0 24px;border-radius:var(--btn-r);border:1.5px solid var(--rule);background:var(--surface);font:600 var(--fs-base) var(--ft);cursor:pointer}

/* ---------- order received ---------- */
.kd-gateway-notes{margin-top:24px;font-size:var(--fs-base);line-height:var(--lh-body)}
.kd-gateway-notes:empty{display:none}
.kd-gateway-notes h2{font-size:var(--fs-h3);margin-bottom:8px}
.kd-gateway-notes .wc-bacs-bank-details{list-style:none;padding:0;margin:0;display:grid;gap:4px}
.kd-gateway-notes .wc-bacs-bank-details-heading{font-size:var(--fs-base);font-weight:700;margin-top:8px}
.woocommerce-order .woocommerce-customer-details,.woocommerce-order .woocommerce-order-details{display:none}
.woocommerce-order .woocommerce-thankyou-order-received{display:none}
.ok-wrap>.ok-actions{margin-top:24px}
.ok-order .ok-meta .v{word-break:break-word}

/* ---------- account ---------- */
.acct-content{max-width:820px;margin:0 auto}
.acct-content h3{font-family:var(--fh);font-weight:600;margin-bottom:12px}
.acct-content p{font-size:var(--fs-base);line-height:var(--lh-body)}
.acct-content p+p{margin-top:12px}
.acct-content a{color:var(--ink);font-weight:600}
.acct-content table{width:100%;border-collapse:collapse;font-size:var(--fs-base)}
.acct-content th,.acct-content td{text-align:left;padding:12px 8px;border-bottom:1px solid var(--rule);vertical-align:top}
.acct-content th{font-size:var(--fs-xs);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink)}
.acct-content tr:last-child td{border-bottom:0}
.acct-content .button,.acct-content button.button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 16px;font:600 var(--fs-sm) var(--ft);color:var(--ink);background:var(--surface);border:1.5px solid var(--rule);border-radius:var(--btn-r);text-decoration:none;cursor:pointer;transition:border-color .16s,color .16s}
.acct-content .button:hover{border-color:var(--copper);color:var(--copper-pressed)}
.acct-content button[type=submit].button{background:var(--gold-fill);box-shadow:var(--gold-rim);color:#FFFFFF;border:1px solid var(--gold-edge);border-radius:10px;min-height:46px;padding:0 24px;font:600 var(--fs-base)/1.25 var(--gold-font)}
.acct-content button[type=submit].button:hover{color:#FFFFFF;border-color:var(--gold-edge);transform:translateY(-1px)}
.acct-content button[type=submit].button:active{transform:translateY(1px)}
.acct-content .woocommerce-orders-table__cell-order-actions .button+.button{margin-left:4px}
.acct-content form .form-row{margin:0 0 12px}
.acct-content form .form-row label{display:block;font-size:var(--fs-sm);font-weight:600;margin-bottom:4px}
.acct-content form .input-text,.acct-content form select,.acct-content form textarea{width:100%;font:500 var(--fs-base)/var(--lh-body) var(--ft);color:var(--ink);background:var(--surface);border:1.5px solid var(--rule);border-radius:var(--btn-r);min-height:46px;padding:8px 12px;outline:0}
.acct-content form .input-text:focus{border-color:var(--copper);box-shadow:0 0 0 3px rgba(var(--copper-rgb),.25)}
.acct-content form .form-row-first,.acct-content form .form-row-last{width:calc(50% - 7px);float:left}
.acct-content form .form-row-last{float:right}
.acct-content form .form-row-wide,.acct-content form fieldset{clear:both}
.acct-content form fieldset{border:0;padding:0;margin:16px 0 0}
.acct-content form legend{font-family:var(--fh);font-weight:600;font-size:var(--fs-h3);margin-bottom:12px}
.acct-content form .show-password-input{display:none}
.acct-content .select2-container{width:100%!important}
.acct-content .select2-container .select2-selection--single{height:46px;border:1.5px solid var(--rule);border-radius:var(--btn-r)}
.acct-content .select2-container .select2-selection--single .select2-selection__rendered{line-height:43px;padding-left:12px;font:500 var(--fs-base)/43px var(--ft)}
.acct-content .select2-container .select2-selection--single .select2-selection__arrow{height:44px}
.acct-content .woocommerce-Addresses{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.acct-content .woocommerce-Address-title{display:flex;align-items:baseline;gap:12px;margin-bottom:8px}
.acct-content .woocommerce-Address-title h2,.acct-content .woocommerce-Address-title h3{font-size:var(--fs-h3);margin:0}
.acct-content address{font-style:normal;line-height:var(--lh-body);font-size:var(--fs-base)}
.acct-content .woocommerce-MyAccount-content>h2{font-family:var(--fh);font-weight:600;font-size:var(--fs-h3);margin-bottom:12px}
.acct-content mark{background:rgba(var(--sun-rgb),.35);padding:0 4px;border-radius:3px}
.acct-content .woocommerce-Pagination{margin-top:16px;display:flex;gap:8px}
.acct-content .woocommerce-orders-table__cell-order-total .woocommerce-Price-amount{font-weight:600}
.acct-content .order-info{margin-bottom:12px}
.acct-content .ok-head{padding-top:0;max-width:none}
@media (max-width:639px){.acct-content .woocommerce-Addresses{grid-template-columns:1fr}.acct-content form .form-row-first,.acct-content form .form-row-last{width:100%;float:none}.acct-content table{display:block;overflow-x:auto}}
.woocommerce-account #kd-account .wrap>.woocommerce>.woocommerce-notices-wrapper,.woocommerce-account #kd-register .wrap>.woocommerce>.woocommerce-notices-wrapper{max-width:520px;margin:calc(var(--sp) * .5) auto 0}
.woocommerce-account #kd-account .wrap>.woocommerce>.woocommerce-notices-wrapper:not(:empty)+.acct-one,.woocommerce-account #kd-register .wrap>.woocommerce>.woocommerce-notices-wrapper:not(:empty)+.acct-one{padding-top:0}
.woocommerce-lost-password .acct-one form.lost_reset_password{display:grid;gap:12px}
.woocommerce-ResetPassword p:first-child{font-size:var(--fs-base);color:var(--ink-soft)}

/* ---------- FAQ from the editor ---------- */
.fq-editor h2{font-size:var(--fs-h3);letter-spacing:-.01em;margin:clamp(32px,4vw,48px) 0 16px}
.fq-editor h2:first-child{margin-top:0}
.fq-editor .wp-block-details{background:var(--surface);border:1px solid var(--rule);border-radius:14px;padding:0 16px;margin:0 0 8px;box-shadow:var(--lift-1)}
.fq-editor .wp-block-details summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:16px 0;font-weight:700;font-size:var(--fs-base);line-height:var(--lh-body)}
.fq-editor .wp-block-details summary::-webkit-details-marker{display:none}
.fq-editor .wp-block-details summary::after{content:"";width:12px;height:12px;flex:none;border-right:1.8px solid var(--ink);border-bottom:1.8px solid var(--ink);transform:rotate(45deg) translate(-3px,-3px);transition:transform .22s}
.fq-editor .wp-block-details[open] summary::after{transform:rotate(225deg) translate(-2px,-2px);border-color:var(--copper-pressed)}
.fq-editor .wp-block-details[open] summary{color:var(--copper-pressed)}
.fq-editor .wp-block-details>:not(summary){font-size:var(--fs-base);line-height:var(--lh-body);color:var(--ink-soft);max-width:62ch;margin:0 0 16px}
.fq-editor .wp-block-details a{color:var(--ink);font-weight:600}

/* ---------- editor content on content pages ---------- */
.pg-prose a{color:var(--ink);font-weight:600}
.pg-prose img{max-width:100%;height:auto;border-radius:16px}
.pg-prose blockquote{margin:16px 0;padding:12px 16px;border-left:3px solid var(--sage);background:var(--surface);border-radius:0 12px 12px 0}
.pg-prose .wp-block-table table{width:100%;border-collapse:collapse}
.pg-prose .wp-block-table td,.pg-prose .wp-block-table th{padding:8px 12px;border-bottom:1px solid var(--rule);text-align:left}
.pg-prose ol{padding-left:16px;margin:0;display:grid;gap:4px}
.pg-prose h4{font-weight:700;font-size:var(--fs-base);margin:16px 0 4px}
.alignwide{max-width:none}
.aligncenter{margin-inline:auto}

/* ---------- Elementor pages ---------- */
.kd-elementor{display:block}
.kd-elementor .elementor-section.elementor-section-boxed>.elementor-container{max-width:var(--wrap)}
/* Elementor Button widget: the theme's rose gold button until a colour is set on the widget
   (the widget's own settings use longer selectors, so they win). */
.elementor-widget-button .elementor-button{background:var(--gold-fill);box-shadow:var(--gold-rim);border:1px solid var(--gold-edge);color:#FFFFFF;border-radius:10px;font-family:var(--gold-font);font-weight:600;transition:transform .18s ease}
.elementor-widget-button .elementor-button:hover,.elementor-widget-button .elementor-button:focus{color:#FFFFFF;transform:translateY(-1px)}
.elementor-widget-button .elementor-button:active{transform:translateY(1px)}

/* ---------- block pages: pages made in the block editor, page.php ----------
   Text blocks sit in a 760px column. Wide blocks take the full site width, full width blocks the
   whole screen. Buttons, images, quotes and rules follow the theme. */
#kd-page{overflow-x:clip}
.kd-blocks{--kd-col:760px;display:flow-root;font-size:var(--fs-base);line-height:var(--lh-body);color:var(--ink)}
.kd-blocks>*{max-width:var(--kd-col);margin-top:0;margin-bottom:24px}
.kd-blocks>*:last-child{margin-bottom:0}
.kd-blocks>.alignwide{max-width:none}
.kd-blocks>.alignfull{max-width:none;width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}
.kd-blocks>.aligncenter{margin-left:auto;margin-right:auto}
.kd-blocks h2{font-size:var(--fs-h2);line-height:var(--lh-tight);margin-top:40px;margin-bottom:12px}
.kd-blocks h3{font-family:var(--fh);font-weight:600;font-size:var(--fs-h3);line-height:var(--lh-snug);margin-top:32px;margin-bottom:8px}
.kd-blocks h4{font-weight:700;font-size:var(--fs-base);margin-top:24px;margin-bottom:4px}
.kd-blocks>h2:first-child,.kd-blocks>h3:first-child{margin-top:0}
.kd-blocks a:not(.wp-block-button__link):not(.wp-element-button){color:var(--ink);font-weight:600}
.kd-blocks ul,.kd-blocks ol{padding-left:20px}
.kd-blocks li+li{margin-top:4px}
.kd-blocks img{max-width:100%;height:auto}
.kd-blocks .wp-block-image img,.kd-blocks .wp-block-gallery img,.kd-blocks .wp-block-media-text__media img{border-radius:8px}
.kd-blocks figcaption,.kd-blocks .wp-element-caption{font-size:var(--fs-sm);color:var(--ink-soft);text-align:center;margin-top:8px}
.kd-blocks .wp-block-quote,.kd-blocks blockquote{margin-left:0;margin-right:0;padding:16px 20px;border-left:3px solid var(--sage);background:var(--surface);border-radius:0 12px 12px 0}
.kd-blocks .wp-block-quote p{font-family:var(--fh);font-size:var(--fs-h3);line-height:var(--lh-snug)}
.kd-blocks .wp-block-quote cite{display:block;margin-top:8px;font-size:var(--fs-sm);font-style:normal;color:var(--ink-soft)}
.kd-blocks .wp-block-pullquote{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:32px 0}
.kd-blocks hr,.kd-blocks .wp-block-separator{border:0;border-top:1px solid var(--rule);height:0;margin:40px 0;opacity:1}
.kd-blocks .wp-block-separator.aligncenter,.kd-blocks .wp-block-separator.is-style-dots{margin-left:auto;margin-right:auto}
.kd-blocks .wp-block-columns{gap:var(--gap)}
.kd-blocks .wp-block-group.has-background,.kd-blocks .wp-block-columns.has-background{padding:clamp(24px,4vw,48px);border-radius:12px}
.kd-blocks>.alignfull.has-background{border-radius:0}
.kd-blocks .has-background>:first-child{margin-top:0}
.kd-blocks .has-background>:last-child{margin-bottom:0}
/* Full width sections line their content up with the text column. */
.kd-blocks>.alignfull:not(.wp-block-image):not(.wp-block-cover){padding-left:max(var(--pad,24px),calc((100vw - var(--wrap)) / 2 + var(--pad,24px)));padding-right:max(var(--pad,24px),calc((100vw - var(--wrap)) / 2 + var(--pad,24px)))}
.kd-blocks>.alignfull:not(.wp-block-image):not(.wp-block-cover)>*{max-width:var(--kd-col);margin-left:0;margin-right:0}
.kd-blocks>.alignfull:not(.wp-block-image):not(.wp-block-cover)>.alignwide,.kd-blocks>.alignfull:not(.wp-block-image):not(.wp-block-cover)>.alignfull{max-width:none}
.kd-blocks .wp-block-cover{border-radius:12px;overflow:hidden}
.kd-blocks>.wp-block-cover.alignfull{border-radius:0}
.kd-blocks .wp-block-table table{width:100%;border-collapse:collapse}
.kd-blocks .wp-block-table thead{border-bottom:1.5px solid var(--ink)}
.kd-blocks .wp-block-table td,.kd-blocks .wp-block-table th{padding:8px 12px;border:0;border-bottom:1px solid var(--rule);text-align:left}
.kd-blocks .wp-block-details{background:var(--surface);border:1px solid var(--rule);border-radius:14px;padding:0 16px}
.kd-blocks .wp-block-details summary{cursor:pointer;font-weight:700;padding:14px 0}
/* Buttons: the theme's rose gold button, unless a colour is picked in the editor. Outline style uses the sage outline button. */
.kd-blocks .wp-block-buttons{display:flex;flex-wrap:wrap;gap:12px}
.kd-blocks .wp-block-button__link{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 24px;border-radius:10px;
  font-family:var(--gold-font);font-weight:600;font-size:var(--fs-base);line-height:1.25;text-decoration:none;border:1px solid transparent;transition:transform .18s ease,background .16s,border-color .16s,color .16s}
.kd-blocks .wp-block-button__link:not(.has-background){background:var(--gold-fill);box-shadow:var(--gold-rim);border-color:var(--gold-edge)}
.kd-blocks .wp-block-button__link:not(.has-text-color){color:#FFFFFF}
.kd-blocks .wp-block-button__link:not(.has-background):hover{transform:translateY(-1px)}
.kd-blocks .wp-block-button__link:not(.has-background):active{transform:translateY(1px)}
.kd-blocks .is-style-outline>.wp-block-button__link:not(.has-background){background:var(--surface);box-shadow:none;font-family:var(--ft);border-radius:var(--btn-r)}
.kd-blocks .is-style-outline>.wp-block-button__link:not(.has-text-color){color:var(--ink)}
.kd-blocks .is-style-outline>.wp-block-button__link{border:2px solid var(--sage)}
.kd-blocks .is-style-outline>.wp-block-button__link:hover{background:var(--sage-wash);border-color:var(--sage-hover)}
.kd-blocks .wp-block-button__link:focus-visible{outline:2px solid var(--focus);outline-offset:3px}
@media (max-width:639px){.kd-blocks .wp-block-button,.kd-blocks .wp-block-button__link{width:100%}}

/* ---------- newsletter without Mailchimp posts to the site ---------- */
.news-form .sr{position:absolute}


/* ==========================================================================
   Spec fixes, 11 October 2026
   Responsive spec audit: overflow, margins, gaps, tap targets, inputs, labels.
   Token, type-size and spacing-scale changes are made in place above and in theme.css.
   ========================================================================== */

/* --- side margins: 16 mobile, 24 tablet, 32 desktop. Content caps at 1200px (--wrap 1264) --- */
:root{--pad:16px}
@media (min-width:768px){:root{--pad:24px}}
@media (min-width:1280px){:root{--pad:32px}}
.wrap{padding-left:var(--pad);padding-right:var(--pad)}
.kdh .hdr[data-tier="xs"] .hrow .wrapx{padding-left:16px;padding-right:16px}
.kdh .hdr[data-tier="xs"] .searchrow .wrapx,.kdh .hdr[data-tier="xs"] .mpanel .wrapx{padding-left:16px;padding-right:16px}
.kdh .hdr[data-tier="md"] .wrapx,.kdh .hdr[data-tier="sm"] .wrapx{padding-left:24px;padding-right:24px}
@media (min-width:1280px){.kdh .wrapx{padding-left:32px;padding-right:32px}}

/* --- gaps between cards: 16 mobile, 24 from tablet --- */
@media (max-width:767px){:root{--gap:16px}}
.sl-grid{gap:var(--gap)}

/* --- no sideways scroll: grid children may shrink below their content width --- */
.shop>*{min-width:0}
.pg-form input[type=file]{min-width:0;max-width:100%;font-size:var(--fs-base)}

/* --- form fields at 16px so iPhones do not zoom on focus --- */
.kdh .srch input{font-size:var(--fs-base);min-height:44px}
.kd select,.kd textarea,.kd input[type=text],.kd input[type=email],.kd input[type=tel],.kd input[type=number],.kd input[type=password],.kd input[type=url]{font-size:max(var(--fs-base), 1em)}

/* --- buttons and tap targets: 44px minimum, 8px apart --- */
.sl-add{min-height:max(44px,calc(45*var(--u)));padding:0 16px}
.sl-buy-wrap .sl-add{min-height:max(44px,calc(38*var(--u)));padding:0 16px}
.sl-buy-wrap .sl-qty{height:max(44px,calc(38*var(--u)));min-width:44px}
.sl-buy-wrap .sl-qty select{min-width:44px}
.sl-buy-wrap .st{gap:8px}
.sl-buy-wrap .stp{width:max(44px,calc(38*var(--u)));height:max(44px,calc(38*var(--u)))}
.sl-wish{width:max(44px,calc(36*var(--u)));height:max(44px,calc(36*var(--u)))}
.af-exp{width:44px;height:44px}
.af-preset{min-height:44px;padding:0 16px}
.af-sc,.pg-tabs button,.pg-tabs a.pg-tab{min-height:44px}
.af-mbtn{padding-left:16px;padding-right:16px}
.kdh .lock,.kdh .cartbtn,.kdh .tbtn{min-height:44px}
@media (pointer:coarse),(max-width:1024px){
  .crumb a,.fq-foot a{display:inline-flex;align-items:center;min-height:44px;min-width:44px}
  .kd main h2>a{display:inline-block;padding-block:8px;margin-block:-8px;min-height:44px}
  .sl-card h3 a{display:block;padding-block:14px;margin-block:-14px}
}

/* --- small text and headings the size map could not reach --- */
.acct-content h3{font-size:var(--fs-h3)}
.pg-ph{white-space:normal}

/* --- phone header: burger on the left, cart on the right, the logo lockup with equal space either side,
   and the search field open under the bar. Contact moves into the menu panel. --- */
.kdh .hdr[data-tier="xs"]{--lk-art:66px}
@media (max-width:359px){.kdh .hdr[data-tier="xs"]{--lk-art:56px}}  /* under 360px the logo and tagline scale down together so the cart stays on screen */
.kdh .hdr[data-tier="xs"] .hrow .wrapx{display:flex;justify-content:space-between;gap:8px}
.kdh .hdr[data-tier="xs"] .tools{gap:2px;margin-left:0}
.kdh .hdr[data-tier="xs"] .cbtn{display:none}
.kdh .hdr[data-tier="xs"] .cartbtn{margin-left:0;padding:8px 10px}
.kdh .hdr[data-tier="xs"] .hrow .wrapx{height:calc(var(--lk-art) + var(--lk-pad) * 2)}

/* --- menu panel on phones and small tablets: one left edge for every line, more space between groups,
   Shop all on its own row with Contact us and WhatsApp us side by side under it --- */
.kdh .hdr[data-mode="narrow"] .mpanel .wrapx{padding:4px var(--hpad) 24px}
.kdh .hdr[data-mode="narrow"] .arow > button{padding:0;min-height:56px;font-size:var(--fs-base)}
.kdh .hdr[data-mode="narrow"] .arow:last-child{border-bottom:0}
.kdh .hdr[data-mode="narrow"] .abody{padding:0 0 20px}
.kdh .hdr[data-mode="narrow"] .abody .dcols{gap:20px}
.kdh .hdr[data-mode="narrow"] .abody .dcol .dcol-h{margin:0 0 4px;padding:0 0 8px;font-size:var(--fs-xs);letter-spacing:.12em}
.kdh .hdr[data-mode="narrow"] .abody .dcol ul{margin:0;padding:0;list-style:none}
.kdh .hdr[data-mode="narrow"] .abody .dcol a{display:flex;align-items:center;min-height:44px;padding:0;margin:0;font-size:var(--fs-base)}
.kdh .hdr[data-mode="narrow"] .abody .fcard{margin-top:20px}
.kdh .hdr[data-mode="narrow"] .hmfoot{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:20px}
.kdh .hdr[data-mode="narrow"] .hmfoot .mbtn{height:50px;font-size:var(--fs-base)}
.kdh .hdr[data-mode="narrow"] .hmfoot .mbtn:first-child{grid-column:1 / -1}

/* --- shop grid keeps 3 columns beside the filter panel from about 1012px --- */
@media (min-width:901px) and (max-width:1279px){#kd-category .shop{grid-template-columns:220px minmax(0,1fr);gap:24px}}

.kdh .hdr[data-mode="narrow"] .mpanel{max-height:calc(100dvh - 140px);overflow-y:auto;overscroll-behavior:contain}


/* mega menu tray as a block the width of the category tabs, 12 Oct 2026 */
.kdh .mdrawer{left:var(--tray-l,0px);right:auto;top:8px;width:var(--tray-w,100%);
  border:1px solid var(--rule);border-radius:14px;overflow:hidden}
.kdh .mdrawer::before{content:"";position:absolute;left:0;right:0;top:-9px;height:9px}
.kdh .mdrawer .wrapx{max-width:none;margin:0;padding:0 24px}
.kdh .hdr .mdrawer .dtop{grid-template-columns:minmax(0,1fr) 300px;gap:32px}
.kdh .hdr .mdrawer .dtop:has(.dcols:empty){grid-template-columns:1fr}
.kdh .hdr .mdrawer .dcols{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:auto;justify-content:start;gap:40px}
.kdh .hdr[data-tier="lg"] .mdrawer .dtop,.kdh .hdr[data-tier="md"] .mdrawer .dtop{grid-template-columns:minmax(0,1fr) 250px;gap:20px}
.kdh .hdr[data-tier="md"] .mdrawer .dcols{gap:24px}
.kdh .mdrawer .dfoot .wrapx{height:auto;min-height:48px;padding-top:10px;padding-bottom:10px;gap:24px}
.kdh .mdrawer .dfoot .fl span{white-space:normal;overflow:visible}
/* tray height follows the content: no stretched rows, compact feature cards */
.kdh .hdr .mdrawer .dtop{align-items:start;padding:20px 0 20px}
.kdh .hdr .mdrawer .feat{grid-template-rows:none;grid-auto-rows:auto;align-content:start;gap:10px}
.kdh .hdr .mdrawer .fcard{grid-template-columns:84px 1fr;gap:12px;padding:10px;align-items:center}
.kdh .hdr .mdrawer .fcard .im{width:84px;height:64px}
.kdh .hdr .mdrawer .fcard strong{font-size:var(--fs-base);margin-bottom:2px}
.kdh .hdr .mdrawer .fcard span.d{line-height:var(--lh-body)}
.kdh .hdr .mdrawer .dcol .dcol-h{margin-bottom:8px}
.kdh .hdr .mdrawer .dcol a{padding:3px 8px}

/* --- header cart button: a 44px square that matches the menu button, the bag centred,
   the count as a round gold badge on the top right corner with a cream ring, hidden when the cart is empty --- */
.kdh .hdr .cartbtn,.kdh .hdr[data-tier] .cartbtn{position:relative;flex:none;box-sizing:border-box;width:44px;height:44px;min-height:44px;padding:0;margin-left:4px;gap:0;justify-content:center;overflow:visible;
  border:1px solid var(--rule);border-radius:var(--btn-r);background:linear-gradient(180deg,#fff,var(--cream));box-shadow:inset 0 1px 0 rgba(255,255,255,.8),0 1px 2px rgba(42,33,24,.05)}
.kdh .hdr .cartbtn:hover{border-color:var(--rule-strong);background:linear-gradient(180deg,#fff,var(--cream-2))}
.kdh .hdr .cartbtn svg{width:20px;height:20px}
.kdh .hdr .cartbtn .pip{position:absolute;top:-6px;right:-6px;box-sizing:border-box;width:auto;min-width:20px;height:20px;padding:0 5px;border-radius:999px;border:2px solid var(--paper);
  font:700 11px/16px var(--ft);font-variant-numeric:tabular-nums;letter-spacing:0;text-align:center;box-shadow:0 1px 3px rgba(42,33,24,.2)}
.kdh .hdr .cartbtn .pip.is-empty{display:none}

/* --- side cart and Enquire popup clear the WordPress toolbar (logged-in users) ---
   Above 600px the toolbar is fixed, so these panels start below it. At 600px and below it scrolls away,
   so the panels sit above it instead and cover it while open. */
.admin-bar .drawer{top:var(--wp-admin--admin-bar--height,32px)}
.admin-bar .enq{top:calc(50% + var(--wp-admin--admin-bar--height,32px) / 2);max-height:min(720px,calc(100% - 48px - var(--wp-admin--admin-bar--height,32px)))}
@media (max-width:600px){
  .admin-bar .drawer{top:0}
  .admin-bar .ovl{z-index:100000}
  .admin-bar .drawer{z-index:100001}
  .admin-bar .enq-scrim{z-index:100002}
  .admin-bar .enq{z-index:100003}
}
@media (max-width:560px){.admin-bar .enq{top:auto;max-height:92%}}


/* the soft shadow under white text on every filled colour (--on-fill-shadow in theme.css) */
.woocommerce-pagination .page-numbers li > span.current,.pager .nav-links .page-numbers.current,
.select2-container--default .select2-results__option--highlighted[aria-selected]{text-shadow:var(--ink-shadow)}
