/* ==========================================================================
   Bookstore: featured publication, new arrivals, catalogue, product page,
   basket, checkout and account.
   ========================================================================== */

/* ---------- Featured publication and New arrivals ---------- */
.dh-showcase{padding:clamp(40px,5vw,56px) 0 0}
.dh-showcase__grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:22px;align-items:stretch}
.dh-featured{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:28px;align-items:center;padding:clamp(28px,4vw,44px);border-radius:28px;overflow:hidden;color:#F8F4EB;background:linear-gradient(160deg,#0B4A4B,#072F31)}
.dh-featured .dh-label{color:var(--rim)}
.dh-featured__title{margin:10px 0 12px;font-size:clamp(1.7rem,2.6vw,2.3rem);line-height:1.1;color:#F8F4EB}
.dh-featured__title[dir="rtl"]{font-family:var(--arabic);line-height:1.6;text-align:right}
.dh-featured__meta{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px;margin:0;color:var(--glint)}
.dh-featured__price{font:600 1.2rem/1 var(--sans);color:#FFFFFF}
.dh-featured__desc{margin-top:12px;color:var(--glint);font-size:.98rem}
.dh-featured__desc p{margin:0 0 .6em}
.dh-featured__cover{position:relative;display:grid;place-items:center;aspect-ratio:1}
.dh-featured__cover::before{content:"";position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle,rgba(186,222,222,.26),rgba(186,222,222,.05) 62%,transparent 63%);box-shadow:inset 0 0 0 3px rgba(0,192,192,.5)}
.dh-featured__cover::after{content:"";position:absolute;width:56px;height:10px;border-radius:5px;background:rgba(0,192,192,.5);right:-22px;bottom:8%;transform:rotate(45deg)}
.dh-featured__cover img{position:relative;width:64%;height:auto;border-radius:3px 6px 6px 3px;box-shadow:0 22px 40px rgba(0,0,0,.35)}
.dh-arrivals{padding:clamp(24px,3vw,32px);border-radius:28px;background:var(--surface);box-shadow:0 0 0 1px var(--line)}
.dh-arrivals__title{margin:4px 0 20px;font-size:clamp(1.7rem,2.6vw,2.1rem)}
.dh-arrivals__row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:0;padding:0;list-style:none}
.dh-arrivals .dh-product__cover{aspect-ratio:.74;padding:0;background:none;border-radius:6px;overflow:visible}
.dh-arrivals .dh-product__img{max-width:100%;width:100%;box-shadow:0 10px 20px rgba(7,47,49,.18)}
.dh-arrivals .dh-product__lang{display:none}
.dh-arrivals .dh-product__flag{top:auto;bottom:-8px;right:50%;transform:translateX(50%);white-space:nowrap}
.dh-arrivals .dh-product__body{padding-top:16px}
.dh-arrivals .dh-product__meta{display:none}
.dh-arrivals .dh-product__title{font-size:.98rem}
.dh-arrivals .dh-product__title[dir="rtl"]{font-size:1.08rem;line-height:1.55}
.dh-arrivals .dh-product__foot{padding-top:6px}
.dh-arrivals .dh-product__price{font-size:.95rem}

/* ---------- Catalogue ---------- */
.dh-catalogue{padding:var(--section) 0 0}
.dh-catalogue__head{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:12px 32px;margin-bottom:22px}
.dh-catalogue__tools{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;margin-bottom:34px;padding-bottom:22px;border-bottom:1px solid var(--line)}

/* ---------- Product page ---------- */
.dh-single{padding:clamp(28px,4vw,44px) 0 0}
.dh-single div.product{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(28px,5vw,64px);align-items:start}
.dh-single .woocommerce-product-gallery{position:relative;grid-column:1;padding:clamp(20px,4vw,40px);border-radius:28px;background:var(--mist);opacity:1!important}
.dh-single .woocommerce-product-gallery__wrapper{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0}
.dh-single .woocommerce-product-gallery__image{grid-column:span 1}
.dh-single .woocommerce-product-gallery__image:first-child{grid-column:1/-1}
.dh-single .woocommerce-product-gallery__image img{width:100%;height:auto;border-radius:4px 8px 8px 4px;box-shadow:0 18px 36px rgba(7,47,49,.22)}
.dh-single .woocommerce-product-gallery__image:not(:first-child) img{box-shadow:0 6px 12px rgba(7,47,49,.18)}
.dh-single .woocommerce-product-gallery__trigger{display:none}
.dh-single .onsale{position:absolute;left:20px;top:20px;z-index:2}
.dh-single .summary{grid-column:2;padding-top:8px}
.dh-single__title{margin:0 0 10px;font-size:clamp(2rem,4vw,3rem);line-height:1.08}
.dh-single__title[dir="rtl"]{font-family:var(--arabic);font-size:clamp(2rem,4vw,2.8rem);line-height:1.6;text-align:right}
.dh-single__title .dh-ltr{font-family:var(--serif);font-size:.75em}
.dh-single__meta{margin:0 0 18px;font:500 .92rem/1.4 var(--sans);color:var(--muted)}
.dh-single__soon{padding:14px 18px;border-radius:12px;background:var(--mist);color:var(--ink)}
.dh-single .summary .price{margin:0 0 20px;font:600 1.6rem/1.2 var(--sans);color:var(--ink)}
.dh-single .summary .price del{color:var(--muted);font-weight:400}
.dh-single .summary .price ins{text-decoration:none}
.dh-single .woocommerce-product-details__short-description{margin-bottom:20px}
.dh-single form.cart{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:0 0 24px}
.dh-single form.cart .quantity input{width:84px;min-height:52px;text-align:center;border-radius:999px}
.dh-single .single_add_to_cart_button,.dh-commerce .button,.dh-commerce button[type="submit"],.woocommerce-message .button,.woocommerce-info .button,.dh-single .button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 28px;border:0;border-radius:999px;background:var(--btn-bg);color:var(--btn-fg);font:600 1rem/1.1 var(--sans);text-decoration:none;cursor:pointer}
.dh-single .single_add_to_cart_button:hover,.dh-commerce .button:hover,.dh-commerce button[type="submit"]:hover,.woocommerce-message .button:hover{background:var(--btn-bg-hover);color:var(--btn-fg)}
.dh-single .stock{font:600 .92rem/1.3 var(--sans);color:var(--teal-text)}
.dh-single .out-of-stock{color:#B3412F}
.dh-single .woocommerce-tabs{grid-column:1/-1;margin-top:clamp(28px,4vw,48px);padding-top:28px;border-top:1px solid var(--line)}
.dh-single .wc-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 24px;padding:0;list-style:none}
.dh-single .wc-tabs li a{display:inline-flex;align-items:center;min-height:42px;padding:0 18px;border-radius:999px;background:var(--surface);box-shadow:inset 0 0 0 1px var(--line-strong);color:var(--ink);font:500 .92rem/1 var(--sans);text-decoration:none}
.dh-single .wc-tabs li.active a{background:var(--teal);color:var(--btn-fg);box-shadow:none}
.dh-single .woocommerce-Tabs-panel{max-width:860px;font-size:1.0625rem;line-height:1.75}
.dh-single .woocommerce-Tabs-panel p{margin:0 0 1em}
.dh-single .shop_attributes{width:100%;border-collapse:collapse}
.dh-single .shop_attributes th,.dh-single .shop_attributes td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left}
.dh-single .related,.dh-single .upsells{grid-column:1/-1;margin-top:clamp(40px,5vw,64px)}
.dh-single .related>h2,.dh-single .upsells>h2{margin-bottom:24px;font-size:clamp(1.8rem,3vw,2.4rem)}
.dh-single ul.products{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px 22px;margin:0;padding:0;list-style:none}

/* ---------- Basket, checkout, account (WooCommerce forms) ---------- */
.dh-commerce{padding:clamp(32px,4vw,48px) 0 0}
.dh-commerce table.shop_table{width:100%;border:0;border-collapse:separate;border-spacing:0;border-radius:18px;overflow:hidden;background:var(--surface);box-shadow:0 0 0 1px var(--line)}
.dh-commerce table.shop_table th,.dh-commerce table.shop_table td{padding:14px 16px;border:0;border-bottom:1px solid var(--line);color:var(--text)}
.dh-commerce table.shop_table th{font:600 .85rem/1.3 var(--sans);color:var(--ink);text-transform:none}
.dh-commerce table.shop_table td.product-name a{font:500 1.05rem/1.4 var(--serif);color:var(--ink);text-decoration:none}
.dh-commerce table.cart img{width:64px;border-radius:3px 6px 6px 3px}
.dh-commerce .quantity input.qty{width:76px;min-height:44px;text-align:center;border-radius:999px}
.dh-commerce .coupon{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.dh-commerce .coupon input{width:200px!important;border-radius:999px}
.dh-commerce .cart-collaterals .cart_totals,.dh-commerce #order_review,.dh-commerce .woocommerce-checkout-review-order{border-radius:18px}
.dh-commerce .cart_totals h2,.dh-commerce #order_review_heading,.dh-commerce .woocommerce-billing-fields h3,.dh-commerce .woocommerce-additional-fields h3,.dh-commerce .woocommerce-shipping-fields h3{margin:0 0 14px;font-size:1.6rem}
.dh-commerce .checkout-button,.dh-commerce #place_order{width:100%;min-height:56px;font-size:1.05rem}
.dh-commerce .form-row label{font:500 .92rem/1.4 var(--sans);color:var(--ink)}
.dh-commerce .select2-container .select2-selection--single{min-height:48px;border:0;border-radius:var(--radius-sm);box-shadow:inset 0 0 0 1px var(--line-strong)}
.dh-commerce .select2-container .select2-selection--single .select2-selection__rendered{line-height:48px;padding-left:16px}
.dh-commerce .select2-container .select2-selection--single .select2-selection__arrow{height:46px}
.dh-commerce #payment{border-radius:18px;background:var(--mist)}
.dh-commerce #payment div.payment_box{border-radius:12px;background:var(--surface)}
.dh-commerce #payment div.payment_box::before{border-bottom-color:var(--surface)}
.dh-commerce .woocommerce-MyAccount-navigation ul{display:flex;flex-direction:column;gap:4px;margin:0;padding:0;list-style:none}
.dh-commerce .woocommerce-MyAccount-navigation a{display:block;padding:10px 16px;border-radius:12px;color:var(--ink);text-decoration:none}
.dh-commerce .woocommerce-MyAccount-navigation .is-active a,.dh-commerce .woocommerce-MyAccount-navigation a:hover{background:var(--mist)}
.dh-commerce .cart-empty{font:500 1.3rem/1.4 var(--serif)}
.dh-commerce .return-to-shop .button{margin-top:8px}
.dh-commerce .woocommerce-form-login,.dh-commerce .woocommerce-form-register{padding:24px;border:0!important;border-radius:18px!important;background:var(--surface);box-shadow:0 0 0 1px var(--line)}

/* WooCommerce's own buttons and fields, in the site's colours and shapes */
.dh-commerce .button,.dh-commerce .button.alt,.dh-commerce a.checkout-button,.dh-commerce #place_order,.dh-commerce button[name="apply_coupon"],.dh-commerce button[name="update_cart"],.dh-commerce .woocommerce-Button,.dh-single .single_add_to_cart_button.button.alt{background:var(--btn-bg)!important;color:var(--btn-fg)!important;border-radius:999px!important;border:0!important;font-family:var(--sans)!important;font-weight:600!important}
.dh-commerce .button:hover,.dh-commerce .button.alt:hover,.dh-commerce #place_order:hover,.dh-single .single_add_to_cart_button.button.alt:hover{background:var(--btn-bg-hover)!important}
.dh-commerce .button:disabled,.dh-commerce .button[disabled]{opacity:.45!important}
.dh-commerce .form-row input.input-text,.dh-commerce .form-row textarea,.dh-commerce .form-row select{min-height:48px;padding:10px 16px;border:0!important;border-radius:var(--radius-sm)!important;background:var(--surface);color:var(--ink);box-shadow:inset 0 0 0 1px var(--line-strong)}
.dh-commerce .form-row input.input-text:focus,.dh-commerce .form-row textarea:focus{box-shadow:inset 0 0 0 2px var(--teal)}
.dh-commerce .form-row .required{color:#B3412F;text-decoration:none}
.dh-commerce .woocommerce-input-wrapper strong{font-weight:600;color:var(--ink)}
.dh-commerce a.remove{color:var(--muted)!important;font-weight:400}
.dh-commerce a.remove:hover{background:var(--mist)!important;color:#B3412F!important}
.dh-commerce .woocommerce-checkout #payment ul.payment_methods{border-bottom-color:var(--line)}
.dh-commerce h3#order_review_heading{margin-top:32px}

@media (max-width:1100px){
	.dh-showcase__grid{grid-template-columns:1fr}
}
@media (max-width:860px){
	.dh-single div.product{grid-template-columns:1fr}
	.dh-single .summary{grid-column:1}
	.dh-single ul.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 14px}
}
@media (max-width:760px){
	.dh-featured{grid-template-columns:1fr;padding:28px 22px}
	.dh-featured__cover{order:-1;width:min(240px,78%);margin:0 auto}
	.dh-arrivals__row{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px}
	.dh-catalogue__tools{flex-direction:column;align-items:stretch}
	.dh-pills{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}
	.dh-pill{flex:none}
	.dh-searchbar--compact{width:100%}
	.dh-single .woocommerce-product-gallery{padding:24px 20%}
	.dh-commerce table.shop_table_responsive tr{display:block}
}
