/* Durvich & Co. brand layer.
   Page layout now lives in Elementor. This file only styles output Elementor
   cannot reach: WooCommerce templates, Fluent Forms, and the header helpers.
   Anything here is deliberately low specificity so Elementor edits win. */

:root{
--dc-bg:#F4F2ED;
--dc-surface:#FFFFFF;
--dc-ink:#2A1A10;
--dc-brand:#402819;
--dc-brand-dark:#341F13;
--dc-muted:#705E51;
--dc-line:#DFD9CF;
--dc-accent:#33455C;
--dc-onbrand:#F4F2ED;
--dc-onbrand-dim:#C9BCB0;
--dc-head:"Archivo Black",sans-serif;
--dc-body:"Work Sans",sans-serif;
--dc-script:"Alex Brush",cursive;
--dc-max:1200px;
}

/* ---------- Base ---------- */
body{background:var(--dc-bg);color:var(--dc-ink);font-family:var(--dc-body);font-size:16px;line-height:1.6}
h1,h2,h3,h4,h5,h6{font-family:var(--dc-head);font-weight:400;color:var(--dc-ink);text-transform:uppercase;line-height:1.06;letter-spacing:-.01em}
a{color:var(--dc-accent);text-decoration:none}
a:hover{color:var(--dc-brand)}
:focus-visible{outline:2px solid var(--dc-accent);outline-offset:2px}
img{max-width:100%;height:auto}
.ct-container,.ct-container-narrow{max-width:var(--dc-max)}
#main-container,.site-main{background:var(--dc-bg)}
.entry-content>*{margin-bottom:1em}

/* ---------- Header (UAE widgets) ---------- */
.ehf-header{background:var(--dc-surface);border-bottom:1px solid var(--dc-line)}
/* Header nav typography and colours are set on the Elementor widget itself,
   so nothing is overridden here. Edit them in the Header template. */
.dc-cart a.hfe-menu-cart__toggle{color:var(--dc-ink)}

/* Header search: the input was inheriting white text on a white ground. */
.dc-search input[type=search],.hfe-search-form__input,.hfe-search-icon-toggle input[type=search]{
color:var(--dc-ink)!important;background:var(--dc-surface)!important;border:1px solid var(--dc-line)!important;border-radius:0!important;
font-family:var(--dc-body)!important;font-size:14px!important;padding:12px 14px!important}
.dc-search input[type=search]::placeholder,.hfe-search-form__input::placeholder{color:#9C8D80!important;opacity:1}
.dc-search .hfe-search-submit,.hfe-search-icon-toggle button{color:var(--dc-ink)!important}
.dc-cart .hfe-cart-count,.dc-cart .hfe-cart-menu-wrap-custom .count{background:var(--dc-brand)!important;color:var(--dc-onbrand)!important}
.dc-search .hfe-search-icon-toggle,.dc-search svg,.dc-search i{color:var(--dc-ink)!important;fill:var(--dc-ink)!important}

/* ---------- Footer ---------- */
.dc-footer .hfe-nav-menu__layout-vertical .menu-item{width:100%}
.dc-footer .hfe-nav-menu li a.hfe-menu-item{padding-left:0!important;justify-content:flex-start}
.dc-footer .hfe-site-logo img{max-width:150px}
.dc-footer .hfe-copyright-wrapper a{color:var(--dc-muted)}

/* ---------- WooCommerce product grid ---------- */
.woocommerce ul.products,.woocommerce-page ul.products{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:1px!important;margin:0!important;padding:0!important;list-style:none;background:var(--dc-line);border:1px solid var(--dc-line)}
.woocommerce ul.products.columns-2{grid-template-columns:repeat(2,1fr)!important}
.woocommerce ul.products.columns-3{grid-template-columns:repeat(3,1fr)!important}
.woocommerce ul.products li.product,.woocommerce-page ul.products li.product{width:100%!important;margin:0!important;padding:0 0 20px!important;float:none!important;background:var(--dc-surface);border-radius:0!important;box-shadow:none!important;text-align:left;display:flex;flex-direction:column;position:relative}
.woocommerce ul.products li.product figure{margin:0 0 16px!important;padding:0}
.woocommerce ul.products li.product .ct-media-container{display:block;margin:0!important;border-radius:0!important;box-shadow:none!important}
.woocommerce ul.products li.product img{aspect-ratio:1/1!important;object-fit:cover!important;width:100%!important;height:auto!important;margin:0!important;border-radius:0!important;box-shadow:none!important}
.woocommerce ul.products li.product .entry-meta,.woocommerce ul.products li.product .meta-categories{display:none!important}
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2{font-family:var(--dc-body)!important;font-size:14px!important;font-weight:600!important;letter-spacing:.04em!important;text-transform:uppercase!important;color:var(--dc-ink)!important;line-height:1.3!important;margin:0 20px 6px!important;padding:0!important}
.woocommerce ul.products li.product .dc-spec{margin:0 20px 10px;font-size:13px;color:var(--dc-muted);line-height:1.4}
.woocommerce ul.products li.product .price{font-family:var(--dc-body)!important;font-size:15px!important;font-weight:600!important;color:var(--dc-ink)!important;margin:0 20px auto!important;display:block}
.woocommerce ul.products li.product .price del{color:var(--dc-muted);font-weight:400}
.woocommerce ul.products li.product .price ins{text-decoration:none}
/* ---------- Product card: add to cart + hover ---------- */
.woocommerce ul.products li.product{transition:box-shadow .2s ease}
.woocommerce ul.products li.product figure{overflow:hidden}
.woocommerce ul.products li.product img{transition:transform .5s ease}
.woocommerce ul.products li.product:hover img{transform:scale(1.045)}
.woocommerce ul.products li.product:hover .woocommerce-loop-product__title a{color:var(--dc-brand)!important}
.woocommerce ul.products li.product .ct-woo-card-actions{
position:static!important;opacity:1!important;visibility:visible!important;transform:none!important;
margin:18px 0 0!important;padding:0!important;display:block!important;width:100%}
.woocommerce ul.products li.product .ct-woo-card-actions .button,
.woocommerce ul.products li.product .button{
background:transparent!important;color:var(--dc-ink)!important;border:0!important;border-top:1px solid var(--dc-line)!important;border-radius:0!important;
padding:15px 20px!important;margin:0!important;display:block!important;width:100%!important;text-align:left!important;
font-family:var(--dc-body)!important;font-size:11px!important;font-weight:600!important;letter-spacing:.12em!important;text-transform:uppercase!important;line-height:1!important;
transition:background .18s ease,color .18s ease}
.woocommerce ul.products li.product .button:hover{background:var(--dc-brand)!important;color:var(--dc-onbrand)!important;border-top-color:var(--dc-brand)!important}
.woocommerce ul.products li.product .added_to_cart{display:none!important}

/* ---------- Separated cards (add the dc-grid-gap class to a product widget) ---------- */
.dc-grid-gap .woocommerce ul.products,.dc-grid-gap ul.products{background:transparent!important;border:0!important;column-gap:24px!important;row-gap:52px!important}
.dc-grid-gap ul.products li.product{border:1px solid var(--dc-line)}
.dc-grid-gap ul.products li.product:hover{box-shadow:0 6px 22px rgba(42,26,16,.07)}
.dc-grid-gap ul.products li.product .ct-woo-card-actions .button,
.dc-grid-gap ul.products li.product .button{text-align:center!important}
.woocommerce span.onsale{background:var(--dc-accent)!important;color:#fff!important;border-radius:0!important;font-family:var(--dc-body);font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:6px 10px;min-height:0;line-height:1;top:0;left:0;margin:0}
.woocommerce .woocommerce-result-count,.woocommerce .woocommerce-ordering{display:none}
.woocommerce nav.woocommerce-pagination{margin-top:32px;text-align:left}
.woocommerce nav.woocommerce-pagination ul{border:0;display:flex;gap:6px}
.woocommerce nav.woocommerce-pagination ul li{border:0}
.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span{font-family:var(--dc-body);font-size:13px;font-weight:600;padding:10px 15px;border:1px solid var(--dc-line);background:var(--dc-surface);color:var(--dc-ink)}
.woocommerce nav.woocommerce-pagination ul li span.current{background:var(--dc-brand);border-color:var(--dc-brand);color:var(--dc-onbrand)}

/* ---------- WooCommerce buttons (not Elementor buttons) ---------- */
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit,
.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce input.button.alt,.wc-block-components-button{
font-family:var(--dc-body)!important;font-size:13px!important;font-weight:600!important;letter-spacing:.08em!important;text-transform:uppercase!important;
background:var(--dc-brand)!important;color:var(--dc-onbrand)!important;border:1px solid var(--dc-brand)!important;border-radius:0!important;
padding:18px 38px!important;line-height:1!important;box-shadow:none!important;transition:background .18s ease,border-color .18s ease}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,.woocommerce #respond input#submit:hover,
.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover,.woocommerce input.button.alt:hover,.wc-block-components-button:hover{background:var(--dc-brand-dark)!important;border-color:var(--dc-brand-dark)!important;color:var(--dc-onbrand)!important}
.woocommerce a.button.wc-backward{background:transparent!important;color:var(--dc-ink)!important;border:1px solid var(--dc-ink)!important}
.woocommerce a.button.wc-backward:hover{background:var(--dc-ink)!important;color:var(--dc-bg)!important}

/* ---------- Forms ---------- */
input[type=text],input[type=email],input[type=tel],input[type=number],input[type=password],input[type=search],input[type=url],textarea,select,
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.select2-container--default .select2-selection--single{
font-family:var(--dc-body);font-size:15px;color:var(--dc-ink);background:var(--dc-surface);
border:1px solid var(--dc-line)!important;border-radius:0!important;padding:14px 16px;box-shadow:none!important;height:auto}
input:focus,textarea:focus,select:focus{border-color:var(--dc-accent)!important;outline:none}
::placeholder{color:#9C8D80;opacity:1}
.woocommerce form .form-row label{font-family:var(--dc-body);font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--dc-muted)}

/* ---------- Single product ---------- */
.single-product .ct-container[data-vertical-spacing]{padding-top:44px}
.single-product div.product{padding-top:0}
.single-product div.product .product_title{font-size:34px;margin:0 0 14px}
.single-product div.product p.price,.single-product div.product span.price{font-family:var(--dc-body);font-size:22px;font-weight:600;color:var(--dc-ink);margin:0 0 20px}
.single-product .woocommerce-product-details__short-description{font-size:15px;color:var(--dc-muted);border-top:1px solid var(--dc-line);border-bottom:1px solid var(--dc-line);padding:16px 0;margin:0 0 24px}
.single-product .woocommerce-product-gallery img{border-radius:0}
.single-product form.cart{display:flex;gap:12px;align-items:stretch;margin:0 0 28px}
/* Quantity: the value and the theme's +/- controls were both rendering near-white. */
.woocommerce .quantity{position:relative;display:inline-flex;align-items:stretch}
.woocommerce .quantity .qty{width:86px;min-height:53px;text-align:center;border:1px solid var(--dc-line)!important;border-radius:0!important;
color:var(--dc-ink)!important;-webkit-text-fill-color:var(--dc-ink);background:var(--dc-surface)!important;font-family:var(--dc-body);font-size:15px;font-weight:600}
.woocommerce .quantity .ct-increase,.woocommerce .quantity .ct-decrease,
.woocommerce .quantity .plus,.woocommerce .quantity .minus{
color:var(--dc-ink)!important;opacity:1!important;visibility:visible!important;z-index:3;
background:transparent!important;border:0!important;cursor:pointer;font-family:var(--dc-body);font-size:15px;line-height:1}
.woocommerce .quantity .ct-increase:hover,.woocommerce .quantity .ct-decrease:hover{color:var(--dc-brand)!important}
.woocommerce .quantity input[type=number]::-webkit-inner-spin-button,
.woocommerce .quantity input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.woocommerce .quantity input[type=number]{-moz-appearance:textfield}
.woocommerce div.product .woocommerce-tabs ul.tabs{padding:0;margin:0 0 24px;border-bottom:1px solid var(--dc-line)}
.woocommerce div.product .woocommerce-tabs ul.tabs:before{display:none}
.woocommerce div.product .woocommerce-tabs ul.tabs li{background:transparent;border:0;border-radius:0;margin:0 28px 0 0;padding:0 0 12px}
.woocommerce div.product .woocommerce-tabs ul.tabs li:before,.woocommerce div.product .woocommerce-tabs ul.tabs li:after{display:none}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{font-family:var(--dc-body);font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--dc-muted);padding:0}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--dc-ink)}
.woocommerce div.product .product_meta{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--dc-muted);border-top:1px solid var(--dc-line);padding-top:18px}
.single-product .related.products{margin-top:80px;border-top:1px solid var(--dc-line);padding-top:48px}
.single-product .related.products>h2{font-size:24px;margin:0 0 24px}
.woocommerce .woocommerce-breadcrumb{font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--dc-muted);padding:22px 0 0}
.woocommerce .woocommerce-breadcrumb a{color:var(--dc-muted)}

/* ---------- Cart & checkout ---------- */
.woocommerce table.shop_table,.woocommerce-cart table.cart{background:var(--dc-surface);border:1px solid var(--dc-line);border-radius:0;border-collapse:collapse}
.woocommerce table.shop_table th{font-family:var(--dc-body);font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--dc-muted);border-bottom:1px solid var(--dc-line);padding:16px}
.woocommerce table.shop_table td{border-top:1px solid var(--dc-line);padding:18px 16px;font-size:15px}
.woocommerce table.shop_table img{width:72px;border-radius:0}
.woocommerce-cart .cart-collaterals .cart_totals{background:var(--dc-surface);border:1px solid var(--dc-line);padding:28px}
.woocommerce-cart .cart-collaterals .cart_totals h2{font-size:20px;margin:0 0 18px}
.woocommerce .cart-collaterals .cart_totals table.shop_table{border:0}
.woocommerce-checkout h3,.woocommerce-checkout #order_review_heading{font-size:20px;margin:0 0 20px;padding-bottom:14px;border-bottom:1px solid var(--dc-line)}
.woocommerce-checkout #order_review{background:var(--dc-surface)!important;border:1px solid var(--dc-line);border-radius:0!important;padding:28px}
.woocommerce-checkout #payment{background:transparent!important}
.woocommerce-checkout #payment div.payment_box{background:var(--dc-bg)!important;border-radius:0;font-size:14px;color:var(--dc-muted)}
.woocommerce-checkout #payment div.payment_box:before{border-bottom-color:var(--dc-bg)!important}
.woocommerce-checkout #payment ul.payment_methods{border-bottom:1px solid var(--dc-line);padding:0 0 18px}
.woocommerce-checkout #payment ul.payment_methods li{list-style:none;margin:0 0 8px}
.woocommerce form.checkout_coupon,.woocommerce form.login{border:1px solid var(--dc-line);border-radius:0;background:var(--dc-surface);padding:24px}
.woocommerce-message,.woocommerce-info,.woocommerce-error{background:var(--dc-surface)!important;border-top:2px solid var(--dc-accent)!important;border-radius:0!important;color:var(--dc-ink)!important;font-size:14px;padding:18px 20px!important}
.woocommerce-error{border-top-color:#9B3B2E!important}
.woocommerce-message:before,.woocommerce-info:before,.woocommerce-error:before{display:none}
.woocommerce-order-received .woocommerce-order{background:var(--dc-surface);border:1px solid var(--dc-line);padding:34px}
.woocommerce ul.order_details{list-style:none;padding:0;margin:0 0 28px;display:flex;flex-wrap:wrap;gap:28px;border:0}
.woocommerce ul.order_details li{border:0;padding:0;margin:0;font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--dc-muted)}
.woocommerce ul.order_details li strong{display:block;margin-top:6px;font-family:var(--dc-head);font-size:17px;font-weight:400;letter-spacing:0;text-transform:none;color:var(--dc-ink)}

/* ---------- Long-form document typography ----------
   Policy pages put whole sections inside one Text Editor widget, so the
   headings inside that HTML need their own scale. Elementor only styles the
   widget's paragraph text, which is why these looked unstructured. */
.elementor-widget-text-editor h2,.entry-content h2{
font-family:var(--dc-head);font-size:20px;font-weight:400;line-height:1.15;letter-spacing:-.01em;text-transform:uppercase;
color:var(--dc-ink);margin:34px 0 12px}
.elementor-widget-text-editor h3,.entry-content h3{
font-family:var(--dc-body);font-size:15px;font-weight:600;line-height:1.45;letter-spacing:0;text-transform:none;
color:var(--dc-ink);margin:26px 0 8px}
.elementor-widget-text-editor h4,.entry-content h4{
font-family:var(--dc-body);font-size:12px;font-weight:600;line-height:1.4;letter-spacing:.1em;text-transform:uppercase;
color:var(--dc-muted);margin:22px 0 8px}
.elementor-widget-text-editor>.elementor-widget-container>*:first-child,
.elementor-widget-text-editor h2:first-child,.elementor-widget-text-editor h3:first-child{margin-top:0}
.elementor-widget-text-editor p,.entry-content p{margin:0 0 1em}
.elementor-widget-text-editor ul,.elementor-widget-text-editor ol,.entry-content ul,.entry-content ol{margin:0 0 1.2em;padding-left:20px}
.elementor-widget-text-editor li,.entry-content li{margin:0 0 .45em;line-height:1.65}
.elementor-widget-text-editor strong,.entry-content strong{color:var(--dc-ink);font-weight:600}
.elementor-widget-text-editor a,.entry-content a{color:var(--dc-accent);text-decoration:underline;text-underline-offset:2px}
.elementor-widget-text-editor a:hover,.entry-content a:hover{color:var(--dc-brand)}
.elementor-widget-text-editor table,.entry-content table{width:100%;border-collapse:collapse;margin:0 0 1.4em;background:var(--dc-surface);border:1px solid var(--dc-line)}
.elementor-widget-text-editor th,.entry-content th{text-align:left;font-family:var(--dc-body);font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--dc-muted);padding:14px 16px;border-bottom:1px solid var(--dc-line)}
.elementor-widget-text-editor td,.entry-content td{padding:14px 16px;border-top:1px solid var(--dc-line);color:var(--dc-ink);font-size:15px}
.elementor-widget-text-editor em,.entry-content em{color:var(--dc-muted)}

/* ---------- Form controls: keep text legible on light grounds ---------- */
input,textarea,select,option,button{color:var(--dc-ink)}
.woocommerce input.input-text,.woocommerce textarea,.woocommerce select,
.select2-container--default .select2-selection--single .select2-selection__rendered,
.select2-container--default .select2-results__option{color:var(--dc-ink)!important;-webkit-text-fill-color:var(--dc-ink)}
.select2-container--default .select2-selection--single{background:var(--dc-surface)!important}
.select2-dropdown{border:1px solid var(--dc-line);border-radius:0}
.select2-container--default .select2-results__option--highlighted[aria-selected]{background:var(--dc-brand);color:var(--dc-onbrand)!important}
.woocommerce form .form-row .required{color:var(--dc-brand)}

/* ---------- Fluent Forms ---------- */
.fluentform .ff-el-input--label label{font-family:var(--dc-body);font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--dc-muted)}
.fluentform .ff-el-form-control{border-radius:0!important;border:1px solid var(--dc-line)!important;background:var(--dc-surface);padding:14px 16px;font-family:var(--dc-body);font-size:15px}
.fluentform .ff-btn-submit{background:var(--dc-brand)!important;color:var(--dc-onbrand)!important;border:1px solid var(--dc-brand)!important;border-radius:0!important;font-family:var(--dc-body)!important;font-size:13px!important;font-weight:600!important;letter-spacing:.08em!important;text-transform:uppercase!important;padding:18px 38px!important;box-shadow:none!important}
.fluentform .ff-btn-submit:hover{background:var(--dc-brand-dark)!important;border-color:var(--dc-brand-dark)!important}
.ff-message-success{background:var(--dc-surface);border-top:2px solid var(--dc-accent);color:var(--dc-ink);padding:16px}
/* Newsletter: email field and Subscribe sit on one line.
   Fluent Forms wraps the fields in a <fieldset>, so that is the flex parent. */
.dc-newsform,.dc-newsform .fluentform-widget-wrapper,.dc-newsform .fluentform{width:100%}
.dc-newsform form fieldset{display:flex!important;flex-wrap:nowrap;align-items:stretch;gap:0;justify-content:flex-end}
.dc-newsform form legend{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.dc-newsform .ff-el-group{flex:1 1 auto;min-width:0;max-width:300px;margin:0!important}
.dc-newsform .ff-el-input--content{height:100%}
.dc-newsform .ff-el-form-control{height:100%!important;width:100%;border-right:0!important}
.dc-newsform .ff_submit_btn_wrapper{flex:0 0 auto;margin:0!important;text-align:left}
.dc-newsform .ff-btn-submit{margin:0!important;height:100%}
.dc-newsform .ff-el-is-error .text-danger,.dc-newsform .error-text{position:absolute;font-size:11px}

/* ---------- Responsive ---------- */
@media(max-width:1024px){.woocommerce ul.products,.woocommerce-page ul.products{grid-template-columns:repeat(3,1fr)!important}}
@media(max-width:781px){
.woocommerce ul.products,.woocommerce-page ul.products,.woocommerce ul.products.columns-3{grid-template-columns:repeat(2,1fr)!important}
.woocommerce ul.products li.product .woocommerce-loop-product__title,.woocommerce ul.products li.product h2{font-size:13px!important;margin:0 14px 5px!important}
.woocommerce ul.products li.product .dc-spec,.woocommerce ul.products li.product .price{margin-left:14px!important;margin-right:14px!important}
.woocommerce ul.products li.product .button{padding:12px 14px 0!important}
.single-product div.product .product_title{font-size:26px}
.single-product form.cart{flex-wrap:wrap}
.dc-newsform form fieldset{flex-wrap:wrap;justify-content:flex-start}
.dc-newsform .ff-el-group{max-width:none;flex:1 1 100%;margin-bottom:10px!important}
.dc-newsform .ff-el-form-control{border-right:1px solid var(--dc-line)!important}
.dc-newsform .ff_submit_btn_wrapper{width:100%}
.dc-newsform .ff-btn-submit{width:100%}
}
