/*
Theme Name: Diginith — Warm Artisan
Theme URI: https://diginith.com/
Template: storefront
Author: Diginith LLC
Author URI: https://diginith.com/
Description: Warm Artisan design system for Diginith — handmade home and tableware.
Tags: e-commerce,two-columns,left-sidebar,right-sidebar,custom-background,custom-colors,custom-header,custom-menu,featured-images,full-width-template,threaded-comments,accessibility-ready,rtl-language-support,footer-widgets,sticky-post,theme-options,editor-style
Version: 1.0.12
Updated: 2026-09-21 10:36:51
*/

/* ============================================================
   1. TOKENS
   ============================================================ */
:root{
  --ink:#3D2B1F;
  --paper:#FAF7F2;
  --sand:#F2ECE3;
  --linen:#E4DACE;
  --stone:#6B5B4E;
  --mist:#9C8E82;
  --terra:#B4674D;
  --terra-deep:#9C5238;
  --terra-dark:#7E4029;
  --olive:#6E7B52;
  --brass:#E0CBA8;
  --white:#FFFFFF;

  --font-display:"Fraunces",Georgia,"Times New Roman",serif;
  --font-body:"Karla",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;

  --r-sm:2px; --r:3px; --r-md:4px; --r-pill:999px;

  --sh-1:0 1px 2px rgba(61,43,31,.05),0 6px 18px rgba(61,43,31,.06);
  --sh-2:0 2px 6px rgba(61,43,31,.07),0 18px 44px rgba(61,43,31,.10);

  --e:cubic-bezier(.2,.7,.3,1);
  --t-micro:160ms; --t-mid:320ms; --t-enter:520ms;

  --wrap:1320px;
}

/* ============================================================
   2. BASE
   ============================================================ */
body,
body.woocommerce,
.site{
  background-color:var(--paper);
  color:var(--ink);
  font-family:var(--font-body);
  font-size:16px;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
}
body{overflow-x:hidden;}

h1,h2,h3,h4,.site-title,
.woocommerce-loop-product__title,
.product_title,
.widget-title,
.entry-title{
  font-family:var(--font-display);
  font-weight:400;
  color:var(--ink);
  letter-spacing:-.012em;
  line-height:1.15;
}
h1,.entry-title{font-size:clamp(2.1rem,4vw,2.75rem);}
h2{font-size:clamp(1.65rem,3vw,2.2rem);}
h3{font-size:1.3rem;}
p{color:var(--ink);}
p,li{font-size:1rem;}
strong,b{font-weight:700;}

a{color:var(--terra-deep);text-decoration:none;transition:color var(--t-micro) var(--e);}
a:hover,a:focus{color:var(--terra-dark);}

::selection{background:var(--brass);color:var(--ink);}

hr,.site-content hr{background-color:var(--linen);height:1px;border:0;}

:focus-visible{outline:2px solid var(--terra-deep) !important;outline-offset:3px !important;}

.col-full{max-width:var(--wrap);padding-left:32px;padding-right:32px;}

/* ============================================================
   3. ANNOUNCEMENT BAR
   ============================================================ */
.dg-announce{
  background:var(--ink);
  color:var(--paper);
  font-size:.8125rem;
  letter-spacing:.04em;
  text-align:center;
  padding:11px 16px;
  line-height:1.5;
}
.dg-announce span{white-space:nowrap;}
.dg-announce .dg-dot{color:#8A7463;margin:0 14px;}

/* ============================================================
   4. HEADER + NAVIGATION
   ============================================================ */
.site-header{
  background-color:var(--paper) !important;
  border-bottom:1px solid var(--linen);
  padding-top:22px;
  padding-bottom:22px;
}
.site-header .site-title a,
.site-branding .site-title a{
  font-family:var(--font-display);
  font-size:1.7rem;
  font-weight:400;
  letter-spacing:-.015em;
  color:var(--ink) !important;
}
.site-header .site-description{color:var(--stone);font-size:.8125rem;}

.storefront-primary-navigation{background-color:var(--paper) !important;}
.main-navigation ul.menu > li > a,
.main-navigation ul.nav-menu > li > a{
  font-family:var(--font-body);
  font-size:.9375rem;
  font-weight:400;
  color:var(--ink) !important;
  padding:12px 0;
  margin-right:30px;
  position:relative;
  transition:color var(--t-micro) var(--e);
}
.main-navigation ul.menu > li > a::after{
  content:"";position:absolute;left:0;bottom:6px;height:1px;width:100%;
  background:var(--terra-deep);transform:scaleX(0);transform-origin:right;
  transition:transform .28s var(--e);
}
.main-navigation ul.menu > li > a:hover{color:var(--terra-deep) !important;}
.main-navigation ul.menu > li > a:hover::after{transform:scaleX(1);transform-origin:left;}
.main-navigation ul.menu ul.sub-menu{
  background:var(--white);border:1px solid var(--linen);box-shadow:var(--sh-1);border-radius:var(--r-md);
}
.main-navigation ul.menu ul.sub-menu li a{color:var(--ink) !important;font-size:.875rem;}

.site-header-cart .cart-contents{color:var(--ink) !important;font-size:.875rem;}
.site-header-cart .cart-contents .count{color:var(--stone);}
.site-header-cart .widget_shopping_cart{background:var(--white);border:1px solid var(--linen);box-shadow:var(--sh-2);}
.site-search .widget_product_search form input[type=search]{
  background:var(--white);border:1px solid var(--linen);border-radius:var(--r);
}

/* ============================================================
   5. BUTTONS
   ============================================================ */
button,
input[type=button],
input[type=reset],
input[type=submit],
.button,
.woocommerce .button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.added_to_cart{
  font-family:var(--font-body) !important;
  font-size:.9375rem !important;
  font-weight:700 !important;
  letter-spacing:.02em;
  line-height:1.2;
  text-transform:none;
  background-color:transparent !important;
  color:var(--ink) !important;
  border:1px solid var(--ink) !important;
  border-radius:var(--r) !important;
  padding:15px 26px !important;
  min-height:48px;
  text-shadow:none !important;
  box-shadow:none !important;
  transition:background-color var(--t-micro) var(--e),color var(--t-micro) var(--e),
             transform var(--t-micro) var(--e),box-shadow var(--t-micro) var(--e) !important;
}
button:hover,
.button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.added_to_cart:hover{
  background-color:var(--ink) !important;
  color:var(--paper) !important;
  border-color:var(--ink) !important;
  transform:translateY(-1px);
}

.button.alt,
.woocommerce .button.alt,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce #respond input#submit.alt,
.single_add_to_cart_button,
.checkout-button,
.wc-block-components-button{
  background-color:var(--terra-deep) !important;
  color:var(--white) !important;
  border-color:var(--terra-deep) !important;
}
.button.alt:hover,
.woocommerce .button.alt:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover,
.single_add_to_cart_button:hover,
.checkout-button:hover{
  background-color:var(--terra-dark) !important;
  border-color:var(--terra-dark) !important;
  color:var(--white) !important;
  box-shadow:0 6px 16px rgba(61,43,31,.16) !important;
}
button:disabled,
.button.disabled,
.woocommerce a.button.disabled,
.woocommerce button.button:disabled{
  background-color:var(--linen) !important;
  color:var(--mist) !important;
  border-color:var(--linen) !important;
  transform:none !important;
  box-shadow:none !important;
  cursor:not-allowed;
}

/* ============================================================
   6. FORMS
   ============================================================ */
input[type=text],input[type=email],input[type=tel],input[type=password],
input[type=search],input[type=number],input[type=url],textarea,select,
.input-text,.select2-container .select2-selection--single{
  font-family:var(--font-body);
  font-size:.9375rem;
  color:var(--ink);
  background:var(--white);
  border:1px solid var(--linen);
  border-radius:var(--r);
  padding:13px 14px;
  box-shadow:none;
  transition:border-color var(--t-micro) var(--e),box-shadow var(--t-micro) var(--e);
}
input:focus,textarea:focus,select:focus,.input-text:focus{
  border-color:var(--terra-deep);
  box-shadow:0 0 0 3px rgba(156,82,56,.13);
  outline:none;
}
label{font-size:.875rem;font-weight:700;color:var(--ink);}
::placeholder{color:var(--mist);opacity:1;}

.quantity .qty{
  border:1px solid var(--linen);border-radius:var(--r);background:var(--white);
  padding:12px 6px;font-size:.9375rem;min-height:48px;
}

/* ============================================================
   7. PRODUCT GRID
   ============================================================ */
ul.products li.product,
.woocommerce ul.products li.product{
  background:var(--white);
  border:1px solid var(--linen);
  border-radius:var(--r-md);
  overflow:hidden;
  padding:0 0 20px;
  text-align:left;
  transition:transform var(--t-mid) var(--e),box-shadow var(--t-mid) var(--e);
}
ul.products li.product:hover{transform:translateY(-4px);box-shadow:var(--sh-2);}
ul.products li.product a img{
  margin:0 0 16px;
  border-radius:0;
  transition:transform .5s var(--e);
  display:block;width:100%;
}
ul.products li.product .woocommerce-LoopProduct-link{display:block;overflow:hidden;}
ul.products li.product:hover a img{transform:scale(1.05);}

ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-family:var(--font-display);
  font-size:1.0625rem !important;
  line-height:1.35;
  padding:0 18px 6px !important;
  color:var(--ink);
}
ul.products li.product .price{
  color:var(--ink) !important;
  font-size:1rem !important;
  font-weight:400;
  padding:0 18px;
  display:block;
}
ul.products li.product .price del{color:var(--mist);opacity:1;font-size:.875rem;margin-right:6px;}
ul.products li.product .price ins{color:var(--terra-deep);text-decoration:none;font-weight:700;}
ul.products li.product .button,
ul.products li.product .added_to_cart{
  margin:14px 18px 0 !important;
  width:calc(100% - 36px);
  text-align:center;
  padding:12px 14px !important;
  font-size:.875rem !important;
  min-height:44px;
  display:inline-flex;align-items:center;justify-content:center;
}
ul.products li.product .star-rating{display:none;}

.onsale,
.woocommerce span.onsale{
  background-color:var(--terra-deep) !important;
  color:var(--white) !important;
  font-family:var(--font-body);
  font-size:.625rem !important;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  border-radius:var(--r-sm) !important;
  padding:6px 10px !important;
  min-height:0 !important;min-width:0 !important;line-height:1.2 !important;
  top:12px !important;left:12px !important;right:auto !important;
  position:absolute;
}

.woocommerce-loop-category__title{
  font-family:var(--font-display);
  font-size:1.25rem !important;
  color:var(--ink);
}

/* ============================================================
   8. SINGLE PRODUCT
   ============================================================ */
.single-product div.product .product_title{
  font-size:clamp(1.9rem,3.4vw,2.6rem);
  line-height:1.14;
  margin-bottom:14px;
}
.single-product div.product .summary .price,
.single-product div.product p.price{
  font-family:var(--font-display);
  font-size:2rem !important;
  color:var(--terra-deep) !important;
  margin-bottom:18px;
}
.single-product div.product .summary .price del{
  font-family:var(--font-body);
  font-size:1.0625rem;color:var(--mist);opacity:1;margin-left:10px;
}
.single-product div.product .summary .price ins{text-decoration:none;font-weight:400;}
.single-product .woocommerce-product-details__short-description{
  font-size:1.0625rem;line-height:1.75;color:var(--stone);
}
.single-product div.product form.cart .button{
  min-height:56px;padding:16px 32px !important;font-size:1rem !important;
}
.single-product .woocommerce-tabs ul.tabs{border-bottom:1px solid var(--linen);padding:0;}
.single-product .woocommerce-tabs ul.tabs li{
  background:transparent;border:0;border-radius:0;
}
.single-product .woocommerce-tabs ul.tabs li a{
  font-family:var(--font-body);font-weight:700;font-size:.9375rem;
  color:var(--stone) !important;padding:14px 0;margin-right:32px;
  border-bottom:2px solid transparent;
}
.single-product .woocommerce-tabs ul.tabs li.active a{
  color:var(--ink) !important;border-bottom-color:var(--terra-deep);
}
.single-product .woocommerce-tabs .panel{background:transparent;padding-top:28px;}
.product_meta{font-size:.8125rem;color:var(--stone);border-top:1px solid var(--linen);padding-top:18px;margin-top:22px;}
.product_meta a{color:var(--terra-deep);}

.woocommerce div.product form.cart .variations label{font-weight:700;}
.woocommerce div.product form.cart .variations select{min-height:48px;}
.woocommerce div.product .woocommerce-product-gallery img{border-radius:var(--r-md);}

.related.products > h2,
.up-sells > h2,
.cross-sells > h2{
  font-family:var(--font-display);font-size:2rem;margin-bottom:26px;
}

/* ============================================================
   9. NOTICES, BREADCRUMB, PAGES
   ============================================================ */
.woocommerce-breadcrumb{
  font-size:.8125rem !important;color:var(--stone) !important;padding:20px 0 !important;
}
.woocommerce-breadcrumb a{color:var(--stone) !important;}
.woocommerce-breadcrumb a:hover{color:var(--terra-deep) !important;}

.woocommerce-message,.woocommerce-info,.woocommerce-error,
.woocommerce-noreviews,p.no-comments{
  background-color:var(--sand) !important;
  color:var(--ink) !important;
  border-top:2px solid var(--olive);
  border-radius:0 0 var(--r-md) var(--r-md);
  font-size:.9375rem;
}
.woocommerce-error{border-top-color:var(--terra-deep);}
.woocommerce-message::before,.woocommerce-info::before{color:var(--olive);}

.page .entry-header,.entry-header{border-bottom:1px solid var(--linen);padding-bottom:22px;margin-bottom:34px;}
.entry-content{font-size:1rem;line-height:1.75;}
.entry-content h2{margin-top:2.4em;}

/* pages built with the .dg wrapper */
.dg h2{font-family:var(--font-display);}
.dg-acc summary{font-family:var(--font-body);}
.dg-btn{background:var(--terra-deep) !important;border-color:var(--terra-deep) !important;color:#fff !important;}
.dg-btn:hover{background:var(--terra-dark) !important;}

/* ============================================================
   10. CART & CHECKOUT
   ============================================================ */
.woocommerce table.shop_table{border:1px solid var(--linen);border-radius:var(--r-md);}
.woocommerce table.shop_table th{font-family:var(--font-body);font-weight:700;color:var(--ink);}
.cart_totals h2,.woocommerce-billing-fields h3,#order_review_heading{
  font-family:var(--font-display);font-size:1.5rem;
}
.woocommerce-cart .cart-collaterals .cart_totals table{border:0;}
.woocommerce .cart-collaterals .cart_totals{background:var(--sand);border-radius:var(--r-md);padding:24px;}

/* ============================================================
   11. HOME — HERO, TRUST, SECTIONS
   ============================================================ */
.dg-hero{
  position:relative;
  background:linear-gradient(145deg,#E5C9AC 0%,#D4A981 55%,#B98F69 100%);
  min-height:min(74vh,660px);
  display:flex;align-items:center;
  margin-bottom:0;
}
.dg-hero__inner{
  max-width:var(--wrap);margin:0 auto;padding:72px 32px;width:100%;
}
.dg-hero__panel{
  max-width:560px;background:rgba(250,247,242,.94);
  padding:48px 44px;border-radius:var(--r-md);
  backdrop-filter:blur(2px);
}
.dg-eyebrow{
  display:block;font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;
  color:var(--terra-deep);font-weight:700;margin-bottom:16px;
}
.dg-hero h1{
  font-size:clamp(2.4rem,5vw,4rem);line-height:1.04;letter-spacing:-.022em;margin:0 0 18px;
}
.dg-hero p{font-size:1.0625rem;line-height:1.7;color:var(--stone);margin:0 0 28px;}
.dg-hero__cta{display:flex;gap:12px;flex-wrap:wrap;}
.dg-hero__cta .dg-b{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:52px;padding:0 30px;border-radius:var(--r);
  font-weight:700;font-size:.9375rem;letter-spacing:.02em;
  border:1px solid var(--ink);color:var(--ink);
  transition:background-color var(--t-micro) var(--e),color var(--t-micro) var(--e),transform var(--t-micro) var(--e);
}
.dg-hero__cta .dg-b:hover{transform:translateY(-1px);background:var(--ink);color:var(--paper);}
.dg-hero__cta .dg-b--p{background:var(--terra-deep);border-color:var(--terra-deep);color:#fff;}
.dg-hero__cta .dg-b--p:hover{background:var(--terra-dark);border-color:var(--terra-dark);color:#fff;box-shadow:0 6px 16px rgba(61,43,31,.16);}

.dg-trust{
  border-top:1px solid var(--linen);border-bottom:1px solid var(--linen);
  background:var(--paper);
}
.dg-trust__inner{
  max-width:var(--wrap);margin:0 auto;padding:0 32px;
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
}
.dg-trust__item{
  display:flex;align-items:center;justify-content:center;gap:12px;
  padding:26px 14px;border-right:1px solid var(--linen);
}
.dg-trust__item:last-child{border-right:0;}
.dg-trust__item svg{flex:0 0 auto;stroke:var(--terra);}
.dg-trust__t{display:block;font-size:.9375rem;font-weight:700;line-height:1.3;}
.dg-trust__s{display:block;font-size:.8125rem;color:var(--stone);line-height:1.4;}

.storefront-product-section,
.page-template-template-homepage .storefront-product-section{
  padding-top:80px;padding-bottom:16px;
}
.storefront-product-section .section-title,
.storefront-product-section h2.section-title{
  font-family:var(--font-display) !important;
  font-size:clamp(1.9rem,3.6vw,2.6rem) !important;
  font-weight:400 !important;
  text-align:left !important;
  letter-spacing:-.015em;
  margin-bottom:28px !important;
}
.storefront-product-section .section-title::before,
.storefront-product-section .section-title::after{display:none !important;}
.storefront-product-categories .woocommerce-loop-category__title{
  background:transparent;color:var(--ink);
}

.page-template-template-homepage .entry-header,
.page-template-template-homepage .entry-content > h1:first-child{display:none;}
.page-template-template-homepage .site-main{padding-top:0;}

/* ============================================================
   12. FOOTER
   ============================================================ */
.site-footer{
  background-color:var(--ink) !important;
  color:rgba(250,247,242,.78) !important;
  padding-top:64px;
  margin-top:80px;
}
.site-footer a{color:rgba(250,247,242,.78) !important;}
.site-footer a:hover{color:var(--brass) !important;}
.site-footer .widget-title,
.site-footer h2,.site-footer h3{
  font-family:var(--font-body) !important;
  font-size:.75rem !important;
  letter-spacing:.16em;
  text-transform:uppercase;
  font-weight:700;
  color:var(--brass) !important;
  margin-bottom:16px;
}
.site-footer .widget ul li{border-bottom:0;padding:5px 0;font-size:.875rem;}
.site-info{
  border-top:1px solid rgba(250,247,242,.14);
  padding:26px 0;margin-top:34px;
  font-size:.8125rem;color:rgba(250,247,242,.6) !important;
}
.dg-foot-note{font-size:.875rem;line-height:1.75;color:rgba(250,247,242,.72);}

/* ============================================================
   13. MOTION
   ============================================================ */
@keyframes dgRise{from{opacity:0;transform:translateY(16px);}to{opacity:1;transform:none;}}
.dg-reveal{animation:dgRise var(--t-enter) var(--e) both;}
@supports (animation-timeline:view()){
  .storefront-product-section,.dg-trust__item{
    animation:dgRise var(--t-enter) var(--e) both;
    animation-timeline:view();
    animation-range:entry 0% entry 42%;
  }
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.001ms !important;animation-iteration-count:1 !important;
    transition-duration:.001ms !important;scroll-behavior:auto !important;
  }
}

/* ============================================================
   14. RESPONSIVE
   ============================================================ */
@media (max-width:1024px){
  .dg-trust__inner{grid-template-columns:repeat(2,minmax(0,1fr));}
  .dg-trust__item:nth-child(2){border-right:0;}
  .dg-trust__item:nth-child(1),.dg-trust__item:nth-child(2){border-bottom:1px solid var(--linen);}
}
@media (max-width:767px){
  .col-full{padding-left:20px;padding-right:20px;}
  .dg-announce{font-size:.75rem;padding:9px 12px;}
  .dg-announce .dg-dot{margin:0 8px;}
  .dg-hero{min-height:0;}
  .dg-hero__inner{padding:0;}
  .dg-hero__panel{max-width:none;border-radius:0;padding:36px 20px;background:rgba(250,247,242,.96);}
  .dg-hero h1{font-size:2.1rem;}
  .dg-hero__cta .dg-b{flex:1 1 100%;}
  .dg-trust__inner{grid-template-columns:1fr;padding:0;}
  .dg-trust__item{border-right:0;border-bottom:1px solid var(--linen);justify-content:flex-start;padding:16px 20px;}
  .dg-trust__item:last-child{border-bottom:0;}
  .storefront-product-section{padding-top:48px;}
  ul.products li.product .woocommerce-loop-product__title{font-size:.9375rem !important;padding:0 12px 4px !important;}
  ul.products li.product .price{padding:0 12px;font-size:.9375rem !important;}
  ul.products li.product .button,ul.products li.product .added_to_cart{margin:12px !important;width:calc(100% - 24px);}
  .site-footer{padding-top:44px;margin-top:52px;}
}

/* ============================================================
   15. REFINEMENTS
   ============================================================ */
.storefront-product-categories ul.products li.product-category{
  padding:0;border:0;border-radius:var(--r-md);overflow:hidden;position:relative;background:var(--sand);
}
.storefront-product-categories ul.products li.product-category > a{display:block;position:relative;}
.storefront-product-categories ul.products li.product-category img{
  margin:0;width:100%;height:340px;object-fit:cover;display:block;border-radius:0;
  transition:transform .6s var(--e);
}
.storefront-product-categories ul.products li.product-category:hover img{transform:scale(1.06);}
.storefront-product-categories ul.products li.product-category > a::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(61,43,31,0) 40%,rgba(61,43,31,.76) 100%);
}
.storefront-product-categories ul.products li.product-category .woocommerce-loop-category__title{
  position:absolute;left:26px;right:26px;bottom:20px;z-index:2;
  color:var(--paper) !important;font-size:1.4rem !important;line-height:1.2;
  padding:0 !important;margin:0;
}
.storefront-product-categories ul.products li.product-category .count{
  display:block;background:transparent;color:rgba(250,247,242,.85);
  font-family:var(--font-body);font-size:.8125rem;font-weight:400;letter-spacing:.04em;margin-top:6px;
}

ul.products li.product .woocommerce-loop-product__title{
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;
  overflow:hidden;min-height:4.05em;
}

.page-template-template-homepage .entry-content:empty{display:none;}
.page-template-template-homepage .hentry{margin-bottom:0;}
.page-template-template-homepage .site-main{padding-bottom:0;}
.storefront-product-section + .storefront-product-section{padding-top:64px;}

.site-header .site-branding .site-title{margin:0;}
.site-header .site-title a,.site-header .beta.site-title a{font-family:var(--font-display) !important;}
.site-search .widget_product_search input[type=search]{min-height:46px;}

.woocommerce-pagination ul.page-numbers li a,
.woocommerce-pagination ul.page-numbers li span{
  border-color:var(--linen);color:var(--ink);border-radius:var(--r);
}
.woocommerce-pagination ul.page-numbers li span.current{
  background:var(--ink);color:var(--paper);border-color:var(--ink);
}

@media (max-width:767px){
  .storefront-product-categories ul.products li.product-category img{height:210px;}
  .storefront-product-categories ul.products li.product-category .woocommerce-loop-category__title{
    left:16px;right:16px;bottom:14px;font-size:1.125rem !important;
  }
  ul.products li.product .woocommerce-loop-product__title{min-height:0;-webkit-line-clamp:2;}
}

/* ============================================================
   16. HOMEPAGE RHYTHM
   ============================================================ */
.page-template-template-homepage .site-main{padding-top:0;margin-bottom:0;}
.page-template-template-homepage .hentry{padding-top:0;padding-bottom:0;margin-bottom:0;}
.page-template-template-homepage .storefront-product-section:first-of-type{padding-top:72px;}
.page-template-template-homepage .storefront-product-section:last-of-type{padding-bottom:72px;}
.page-template-template-homepage .entry-content{margin-bottom:0;}

/* ============================================================
   17. CARD TITLE CLAMP FIX
   ============================================================ */
ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
  line-height:1.35;
  height:4.05em;
  min-height:0;
  padding:0 18px !important;
  margin:0 0 10px !important;
}
ul.products li.product .price{margin-bottom:0;}
@media (max-width:767px){
  ul.products li.product .woocommerce-loop-product__title,
  .woocommerce ul.products li.product .woocommerce-loop-product__title{
    -webkit-line-clamp:2;height:2.7em;padding:0 12px !important;
  }
}

/* ============================================================
   18. SINGLE PRODUCT CHROME
   ============================================================ */
/* Storefront's fixed prev/next panels peek in at the viewport edges */
.storefront-product-pagination{display:none !important;}

/* disabled add-to-cart must stay legible (4.7:1) */
.single_add_to_cart_button.disabled,
.single_add_to_cart_button:disabled,
.woocommerce div.product form.cart .button.disabled,
.woocommerce div.product form.cart .button:disabled{
  background-color:var(--linen) !important;
  border-color:var(--linen) !important;
  color:#6B5B4E !important;
  opacity:1 !important;
  cursor:not-allowed;
  transform:none !important;
  box-shadow:none !important;
}

/* sticky add to cart */
.storefront-sticky-add-to-cart{
  background-color:var(--paper) !important;
  border-bottom:1px solid var(--linen);
  box-shadow:var(--sh-1);
}
.storefront-sticky-add-to-cart__content-title{color:var(--ink);font-family:var(--font-body);}
.storefront-sticky-add-to-cart__content-price{color:var(--terra-deep);font-weight:700;}
.storefront-sticky-add-to-cart__content-button .button{
  background-color:var(--terra-deep) !important;color:#fff !important;border-color:var(--terra-deep) !important;
}

/* mobile footer bar */
.storefront-handheld-footer-bar{background-color:var(--ink) !important;border-top:0;}
.storefront-handheld-footer-bar ul li > a,
.storefront-handheld-footer-bar ul li > a::before{color:var(--paper) !important;}
.storefront-handheld-footer-bar ul li.cart .count{
  background-color:var(--terra-deep) !important;color:#fff !important;border-color:var(--terra-deep) !important;
}
.storefront-handheld-footer-bar ul li{border-color:rgba(250,247,242,.16);}

/* gallery trigger */
.woocommerce-product-gallery__trigger{
  background:var(--paper) !important;border:1px solid var(--linen);border-radius:var(--r-pill);
}

/* tabs arrow that Storefront adds */
.woocommerce-tabs ul.tabs li.active a::after{display:none;}

/* ============================================================
   19. FOOTER COLUMNS
   ============================================================ */
.dg-foot{
  display:grid;
  grid-template-columns:1.7fr 1fr 1fr 1fr 1.15fr;
  gap:44px;
  padding-bottom:38px;
}
.dg-foot__brand{max-width:330px;}
.dg-foot__logo{
  font-family:var(--font-display);font-size:1.7rem;color:var(--paper);
  display:block;margin-bottom:14px;letter-spacing:-.015em;
}
.dg-foot__col h2{
  font-family:var(--font-body) !important;font-size:.75rem !important;
  letter-spacing:.16em;text-transform:uppercase;font-weight:700;
  color:var(--brass) !important;margin:0 0 14px;
}
.dg-foot__col ul{list-style:none;margin:0;padding:0;}
.dg-foot__col li{padding:5px 0;font-size:.875rem;line-height:1.5;border:0;}
.dg-foot__hours{color:rgba(250,247,242,.58);line-height:1.7;padding-top:10px !important;}
.site-footer .dg-foot a{text-decoration:none;}
@media (max-width:900px){
  .dg-foot{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px;}
  .dg-foot__brand{grid-column:1 / -1;max-width:none;}
}
@media (max-width:600px){
  .dg-foot{grid-template-columns:1fr;gap:26px;}
}

/* ============================================================
   20. HERO PHOTOGRAPH, MOBILE LAYOUT
   ============================================================ */

/* WooCommerce Brands renders an empty "Shop by Brand" row on the
   homepage; there are no brands to show. */
.storefront-product-section.storefront-woocommerce-brands{display:none !important;}

/* --- hero photograph ---------------------------------------- */
.dg-hero{
  background-image:url("https://diginith.com/wp-content/uploads/2026/09/diginith-hero.jpg");
  background-size:cover;
  background-position:center right;
  background-repeat:no-repeat;
  background-color:var(--sand);
}
.dg-hero::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(100deg,rgba(250,247,242,.62) 0%,rgba(250,247,242,.22) 46%,rgba(250,247,242,0) 72%);
}
.dg-hero__inner{position:relative;z-index:1;}
.dg-hero__panel{background:rgba(250,247,242,.95);}

/* --- mobile -------------------------------------------------- */
@media (max-width:767px){

  /* photograph becomes a band above the copy */
  .dg-hero{
    background-size:cover;
    background-position:center 66%;
    padding-top:230px;
  }
  .dg-hero::before{display:none;}
  .dg-hero__panel{background:var(--paper);padding:30px 20px 34px;}

  /* two products per row instead of one very tall card */
  .storefront-product-section ul.products,
  .woocommerce ul.products,
  ul.products{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
    margin-left:0;margin-right:0;
  }
  .storefront-product-section ul.products::before,
  .storefront-product-section ul.products::after,
  .woocommerce ul.products::before,
  .woocommerce ul.products::after,
  ul.products::before,
  ul.products::after{display:none !important;}
  .storefront-product-section ul.products li.product,
  .woocommerce ul.products li.product,
  ul.products li.product{
    width:auto !important;
    float:none !important;
    clear:none !important;
    margin:0 !important;
  }

  /* categories stay full width - the photographs deserve the room */
  .storefront-product-categories ul.products{grid-template-columns:1fr !important;gap:16px;}

  ul.products li.product .button,
  ul.products li.product .added_to_cart{
    margin:10px 12px 0 !important;width:calc(100% - 24px);font-size:.8125rem !important;padding:10px 8px !important;
  }
  ul.products li.product .price{font-size:.9375rem !important;}

  /* menu toggle */
  .menu-toggle,
  button.menu-toggle{
    background:transparent !important;
    color:var(--ink) !important;
    border:1px solid var(--ink) !important;
    border-radius:var(--r) !important;
    font-family:var(--font-body) !important;
    font-weight:700 !important;
    font-size:.875rem !important;
    padding:11px 18px !important;
    min-height:44px;
  }
  .menu-toggle:hover{background:var(--ink) !important;color:var(--paper) !important;}

  .storefront-product-section{padding-top:44px;padding-bottom:0;}
  .storefront-product-section + .storefront-product-section{padding-top:44px;}
  .page-template-template-homepage .storefront-product-section:first-of-type{padding-top:40px;}
  .page-template-template-homepage .storefront-product-section:last-of-type{padding-bottom:48px;}
}

/* 21. close the dead zone above the footer on the homepage */
.page-template-template-homepage .site-footer{margin-top:0;}
.page-template-template-homepage .storefront-product-section:last-of-type{padding-bottom:64px;}

/* ============================================================
   22. MENU TOGGLE ICON SPACING
   ============================================================ */
.menu-toggle,
button.menu-toggle{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  gap:9px;
  line-height:1;
}
.menu-toggle::before,
button.menu-toggle::before{
  position:static !important;
  float:none !important;
  margin:0 !important;
  padding:0 !important;
  left:auto !important;
  right:auto !important;
  top:auto !important;
  transform:none !important;
  line-height:1;
}
.menu-toggle::after{content:none !important;}

/* ============================================================
   23. HAMBURGER, ADMIN EDIT LINK, HERO CROP
   ============================================================ */

/* Storefront ships an admin-only "Edit this section" button that lands on
   top of the first heading at phone widths. Nobody but the shop owner can
   see it, and it is reachable from the dashboard anyway. */
.storefront-hero__button-edit{display:none !important;}

/* Draw the hamburger rather than relying on Storefront's icon font,
   which renders as a single bar here. */
.menu-toggle::before,
button.menu-toggle::before{
  content:"" !important;
  display:block;
  width:18px;
  height:2px;
  background:currentColor;
  box-shadow:0 -6px 0 0 currentColor, 0 6px 0 0 currentColor;
  flex:0 0 auto;
  font-size:0;
}
.menu-toggle{padding-left:16px !important;padding-right:18px !important;}

@media (max-width:480px){
  .dg-announce{font-size:.7rem;line-height:1.6;padding:8px 12px;}
  .dg-announce .dg-dot{margin:0 6px;}
}

/* ============================================================
   24. MOBILE HERO BAND
   ============================================================ */
/* On phones the background covered the whole section, so only the top
   third of the photograph was ever visible and background-position had
   no vertical overflow to work against. Paint the band on ::before
   instead, where its height is the crop. */
@media (max-width:767px){
  .dg-hero{
    background-image:none !important;
    padding-top:0 !important;
    flex-direction:column;
    align-items:stretch;
  }
  .dg-hero::before{
    display:block !important;
    position:static !important;
    content:"" !important;
    width:100%;
    height:220px;
    flex:0 0 auto;
    background-image:url("https://diginith.com/wp-content/uploads/2026/09/diginith-hero.jpg") !important;
    background-size:cover !important;
    background-position:center 58% !important;
    background-repeat:no-repeat !important;
  }
}

/* ============================================================
   25. CARD TITLES ON PHONES
   ============================================================ */
/* Every product name starts "Handmade ...", so clamping to two lines
   cut off the words that tell them apart. Three lines it is. */
@media (max-width:767px){
  ul.products li.product .woocommerce-loop-product__title,
  .woocommerce ul.products li.product .woocommerce-loop-product__title{
    -webkit-line-clamp:3;
    height:4.05em;
    font-size:.9375rem !important;
  }
}

/* ============================================
   26. BRAND LOGO
   ============================================ */
.site-header .site-branding{margin-bottom:0;}
.site-header .custom-logo-link{display:inline-block;line-height:0;}
.site-header .custom-logo{
  width:auto;
  height:46px;
  max-width:100%;
  display:block;
  transition:opacity var(--t-micro) var(--e);
}
.site-header .custom-logo-link:hover .custom-logo{opacity:.82;}
.site-header .custom-logo-link:focus-visible{
  outline:2px solid var(--terra-deep);
  outline-offset:5px;
  border-radius:var(--r-sm);
}
@media (max-width:767px){
  .site-header .custom-logo{height:32px;}
  .site-header .site-branding{display:flex;align-items:center;}
}

/* ============================================
   27. COOKIE CONSENT BANNER
   ============================================ */
#cookie-notice{
  font-family:var(--font-body) !important;
  background-color:var(--ink) !important;
  border-top:1px solid rgba(250,247,242,.14);
  box-shadow:0 -10px 30px rgba(61,43,31,.18);
  min-height:0 !important;
}
#cookie-notice .cookie-notice-container{
  max-width:var(--wrap);
  margin:0 auto;
  padding:18px 24px !important;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:16px 24px;
  flex-wrap:wrap;
  text-align:left;
}
#cookie-notice #cn-notice-text{
  color:var(--paper) !important;
  font-size:.875rem;
  line-height:1.6;
  max-width:78ch;
  margin:0;
  display:block;
}
#cookie-notice #cn-notice-buttons{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
#cookie-notice .cn-button{
  font-family:var(--font-body) !important;
  font-size:.8125rem !important;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
  padding:11px 22px !important;
  margin:0 !important;
  border-radius:var(--r-pill) !important;
  border:1px solid transparent;
  cursor:pointer;
  transition:background-color var(--t-micro) var(--e),color var(--t-micro) var(--e),border-color var(--t-micro) var(--e);
}
#cookie-notice #cn-accept-cookie{
  background:var(--terra-deep) !important;
  color:var(--white) !important;
}
#cookie-notice #cn-accept-cookie:hover{background:var(--terra-dark) !important;}
#cookie-notice #cn-refuse-cookie{
  background:transparent !important;
  color:var(--paper) !important;
  border-color:rgba(250,247,242,.42) !important;
}
#cookie-notice #cn-refuse-cookie:hover{
  background:rgba(250,247,242,.10) !important;
  border-color:var(--paper) !important;
}
#cookie-notice #cn-more-info{
  background:none !important;
  color:var(--brass) !important;
  padding:11px 4px !important;
  border:0 !important;
  text-transform:none;
  letter-spacing:0;
  font-weight:500;
  text-decoration:underline;
  text-underline-offset:3px;
}
#cookie-notice #cn-more-info:hover{color:var(--paper) !important;}
#cookie-notice .cn-button:focus-visible{outline:2px solid var(--brass);outline-offset:3px;}
#cookie-notice #cn-close-notice{display:none !important;}
@media (max-width:767px){
  #cookie-notice .cookie-notice-container{
    padding:16px 18px !important;
    flex-direction:column;
    align-items:stretch;
    gap:14px;
  }
  #cookie-notice #cn-notice-text{font-size:.8125rem;}
  #cookie-notice #cn-notice-buttons{gap:8px;}
  #cookie-notice #cn-accept-cookie,
  #cookie-notice #cn-refuse-cookie{flex:1 1 0;text-align:center;}
  #cookie-notice #cn-more-info{flex:1 1 100%;text-align:center;}
}
@media (prefers-reduced-motion:reduce){
  #cookie-notice,#cookie-notice .cn-button{transition:none !important;}
}

/* ============================================
   28. HEADER AND BANNER FIXES
   ============================================ */
/* the hamburger belongs to handheld widths only */
@media (min-width:768px){
  .site-header .menu-toggle,
  .site-header button.menu-toggle{display:none !important;}
}
/* lock the logo to a fixed cap height */
.site-header .custom-logo{
  height:46px !important;
  width:auto !important;
  max-width:100% !important;
}
@media (max-width:767px){
  .site-header .custom-logo{height:32px !important;}
}
/* let the consent copy use the row it is given */
@media (min-width:768px){
  #cookie-notice #cn-notice-text{flex:1 1 440px;min-width:0;}
}
@media (max-width:767px){
  #cookie-notice #cn-notice-text{flex:0 0 auto;min-width:0;max-width:100%;}
}


/* ============================================================
   HOMEPAGE FAQ + NEWSLETTER
   ============================================================ */
.dg-faq{ background:var(--sand); border-top:1px solid var(--linen); }
.dg-faq__inner{ max-width:900px; margin:0 auto; padding:76px 32px; }
.dg-faq__head{ text-align:center; margin-bottom:34px; }
.dg-faq__head h2{ font-family:var(--font-display); font-size:2rem; line-height:1.15; color:var(--ink); margin:.35em 0 0; }
.dg-faq__item{ border-bottom:1px solid var(--linen); }
.dg-faq__item summary{ list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:20px; padding:20px 2px; font-family:var(--font-body); font-weight:600; color:var(--ink); }
.dg-faq__item summary::-webkit-details-marker{ display:none; }
.dg-faq__item summary:hover{ color:var(--terra-deep); }
.dg-faq__icon{ position:relative; flex:0 0 14px; width:14px; height:14px; }
.dg-faq__icon::before,.dg-faq__icon::after{ content:""; position:absolute; background:var(--stone); transition:transform var(--t-micro) var(--e); }
.dg-faq__icon::before{ top:6px; left:0; width:14px; height:2px; }
.dg-faq__icon::after{ left:6px; top:0; width:2px; height:14px; }
.dg-faq__item[open] .dg-faq__icon::after{ transform:scaleY(0); }
.dg-faq__a{ padding:0 2px 22px; max-width:66ch; color:var(--stone); }
.dg-faq__a p{ margin:0; }
.dg-faq__a a{ color:var(--terra-deep); }
.dg-faq__more{ margin:30px 0 0; text-align:center; }
.dg-faq__more a{ color:var(--terra-deep); font-weight:600; text-decoration:underline; text-underline-offset:3px; }

.dg-news{ background:var(--ink); color:var(--paper); }
.dg-news__inner{ max-width:var(--wrap); margin:0 auto; padding:66px 32px; display:grid; grid-template-columns:1.05fr .95fr; gap:44px; align-items:center; }
.dg-news .dg-eyebrow{ color:var(--brass); }
.dg-news__copy h2{ font-family:var(--font-display); font-size:1.9rem; line-height:1.15; color:var(--paper); margin:.35em 0 .45em; }
.dg-news__copy p{ margin:0; color:rgba(250,247,242,.72); max-width:46ch; }
.dg-news__form .hostinger-reach-block-subscription-form-wrapper{ margin:0; }
.dg-news__form .hostinger-reach-block-form-fields{ display:flex; gap:10px; flex-wrap:wrap; align-items:center; }
.dg-news__form .hostinger-reach-block-form-field{ flex:1 1 240px; margin:0; }
.dg-news__form .hostinger-reach-block-form-field label{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.dg-news__form input[type="email"]{ width:100%; background:var(--white); border:1px solid transparent; border-radius:var(--r); padding:14px 16px; font-family:var(--font-body); font-size:1rem; color:var(--ink); }
.dg-news__form input[type="email"]:focus{ outline:2px solid var(--brass); outline-offset:2px; }
.dg-news__form .hostinger-reach-block-submit,
.dg-news__form button.hostinger-reach-block-submit.has-background{ flex:0 0 auto; background-color:var(--terra) !important; background-image:none !important; color:var(--white) !important; border:0; border-radius:var(--r); padding:15px 30px; font-family:var(--font-body); font-weight:600; font-size:1rem; line-height:1.2; cursor:pointer; transition:background-color var(--t-micro) var(--e); }
.dg-news__form .hostinger-reach-block-submit:hover,
.dg-news__form button.hostinger-reach-block-submit.has-background:hover{ background-color:var(--terra-deep) !important; }
.dg-news__form .hostinger-reach-block-form-field{ flex:1 1 200px; }
.dg-news__fine{ margin:12px 0 0; font-size:.82rem; color:rgba(250,247,242,.6); }
.dg-news__form .reach-subscription-message{ color:var(--paper); margin-top:10px; }

@media (max-width:768px){
  .dg-faq__inner{ padding:52px 20px; }
  .dg-faq__head h2,.dg-news__copy h2{ font-size:1.6rem; }
  .dg-news__inner{ grid-template-columns:1fr; gap:26px; padding:48px 20px; }
  .dg-news__form .hostinger-reach-block-form-field{ flex:1 1 100%; }
  .dg-news__form .hostinger-reach-block-submit{ width:100%; }
}
