/* =========================================================
   DEE2 jewels — estilos del tema hijo (sobre Storefront)
   Diseño: TuWebPersonalizada
   ========================================================= */

:root{
  --ivory:#FBF8F4;
  --cream:#F3ECE3;
  --sand:#EDE3D6;
  --charcoal:#2B2622;
  --brown:#3f3a34;
  --taupe:#8C7B6B;
  --gold:#B4915E;
  --gold-soft:#C9AE86;
  --line:#E7DDD0;
  --serif:'Cormorant Garamond', Georgia, serif;
  --display:'Playfair Display', Georgia, serif;
  --sans:'Jost', system-ui, sans-serif;
}

/* ---------- Base ---------- */
body{
  font-family:var(--sans);
  color:var(--charcoal);
  background:var(--ivory);
  font-weight:300;
  line-height:1.7;
}
h1,h2,h3,h4,.page-title,.entry-title{
  font-family:var(--serif);
  font-weight:500;
  color:var(--charcoal);
  letter-spacing:.3px;
}
a{color:var(--charcoal)}
a:hover{color:var(--gold)}
.dee2-eyebrow{font-size:11px;letter-spacing:3px;text-transform:uppercase;color:var(--gold);font-weight:400}

/* ---------- Barra de anuncio ---------- */
.dee2-announce{
  background:var(--charcoal);color:var(--ivory);text-align:center;
  font-size:11px;letter-spacing:2px;text-transform:uppercase;padding:9px 12px;
}

/* ---------- Botones (Storefront + WooCommerce) ---------- */
.button,
button,
input[type="submit"],
.woocommerce a.button,
.woocommerce button.button,
.woocommerce #respond input#submit,
.woocommerce .widget_price_filter .price_slider_amount .button{
  font-family:var(--sans);
  font-size:12px;letter-spacing:2px;text-transform:uppercase;font-weight:400;
  background:var(--charcoal);color:var(--ivory);
  border:1px solid var(--charcoal);border-radius:0;
  padding:14px 30px;transition:.3s;
}
.button:hover,
button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce #respond input#submit:hover{
  background:transparent;color:var(--charcoal);
}
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce #respond input#submit.alt{
  background:var(--gold);border-color:var(--gold);color:#fff;
}
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover{
  background:transparent;color:var(--gold);
}

/* ---------- Cabecera ---------- */
.site-header{
  background:var(--ivory);
  border-bottom:1px solid var(--line);
  padding-top:1.2em;padding-bottom:1.2em;
}
.site-header .custom-logo{max-height:60px;width:auto}
.site-branding{display:flex;align-items:center}
.site-branding .custom-logo-link{display:inline-flex;align-items:center}
.site-branding .custom-logo-link img{display:block}
.site-branding .site-title,
.site-branding .beta{ /* fallback si no hay logo */
  font-family:var(--display);letter-spacing:3px;color:var(--brown);
}
.storefront-primary-navigation{background:transparent;border:0}
.main-navigation ul li a{
  font-family:var(--sans);font-size:12.5px;letter-spacing:1.5px;text-transform:uppercase;
  font-weight:400;color:var(--charcoal);
}
.main-navigation ul li a:hover,
.main-navigation ul li:hover > a{color:var(--gold)}
.main-navigation ul.menu ul.sub-menu,
.main-navigation ul ul.children{
  background:#fff;border:1px solid var(--line);box-shadow:0 18px 40px rgba(43,38,34,.08);
}
.site-header-cart .cart-contents,
.site-search .widget_product_search{color:var(--charcoal)}

/* Barra inferior movil de Storefront */
.storefront-handheld-footer-bar{
  background:var(--charcoal)!important;
  border-top:1px solid rgba(255,255,255,.14)!important;
  box-shadow:0 -12px 32px rgba(43,38,34,.16);
}
.storefront-handheld-footer-bar ul li{
  background:transparent!important;
}
.storefront-handheld-footer-bar ul li > a,
.storefront-handheld-footer-bar ul li.search .site-search,
.storefront-handheld-footer-bar ul li.cart .count{
  color:var(--ivory)!important;
}
.storefront-handheld-footer-bar ul li > a:before{
  color:var(--ivory)!important;
  opacity:1!important;
}
.storefront-handheld-footer-bar ul li > a:hover,
.storefront-handheld-footer-bar ul li > a:hover:before,
.storefront-handheld-footer-bar ul li.current > a,
.storefront-handheld-footer-bar ul li.current > a:before{
  color:var(--gold-soft)!important;
}
.storefront-handheld-footer-bar ul li.cart .count{
  background:var(--gold)!important;
  border-color:var(--gold)!important;
}
.storefront-handheld-footer-bar ul li.search .site-search{
  background:var(--charcoal)!important;
  border-top:1px solid rgba(255,255,255,.14)!important;
}
.storefront-handheld-footer-bar ul li.search .site-search input[type=search]{
  background:#fff!important;
  color:var(--charcoal)!important;
}

/* ---------- Títulos de página / breadcrumb ---------- */
.woocommerce-breadcrumb{
  font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--taupe);
}
.woocommerce-breadcrumb a:hover{color:var(--gold)}
.page-template-tpl-conoce .entry-title,
h1.entry-title{letter-spacing:.5px}
.storefront-breadcrumb,.page-header{background:var(--cream)}

/* WooCommerce a ancho completo */
body.woocommerce-page .site-content,
body.woocommerce-page .site-content .col-full,
body.woocommerce-page .content-area,
body.woocommerce-page .site-main,
body.single-product .site-content,
body.single-product .site-content .col-full,
body.single-product .content-area,
body.single-product .site-main{
  max-width:none;
  width:100%;
  margin-left:0;
  margin-right:0;
  padding-left:0;
  padding-right:0;
  float:none;
}
body.woocommerce-page .widget-area,
body.single-product .widget-area{display:none}
body.woocommerce-page .storefront-breadcrumb,
body.single-product .storefront-breadcrumb{
  width:100vw;
  max-width:100vw;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  padding-left:28px;
  padding-right:28px;
}
body.woocommerce-page .storefront-breadcrumb .col-full,
body.single-product .storefront-breadcrumb .col-full{
  max-width:1180px;
  margin-left:auto;
  margin-right:auto;
}

/* ---------- Rejilla de productos ---------- */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product{
  text-align:left;
  background:#fff;
  border:1px solid var(--line);
  padding:14px 14px 18px;
  transition:.25s ease;
}
.woocommerce ul.products li.product:hover,
.woocommerce-page ul.products li.product:hover{
  transform:translateY(-4px);
  box-shadow:0 22px 50px rgba(43,38,34,.08);
}
.woocommerce ul.products li.product a img{
  border-radius:0;background:var(--cream);margin-bottom:1em;aspect-ratio:1/1.18;object-fit:cover;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2{
  font-family:var(--serif);font-size:1.3rem;font-weight:500;padding:0;
}
.woocommerce ul.products li.product .price{
  color:var(--taupe);font-family:var(--sans);font-size:.95rem;font-weight:300;
}
.woocommerce ul.products li.product .price del{color:#c2b6a6;margin-right:8px}
.woocommerce ul.products li.product .price ins{color:var(--charcoal);text-decoration:none}
.woocommerce span.onsale{
  background:var(--gold);color:#fff;border-radius:0;font-size:10px;letter-spacing:1.5px;
  text-transform:uppercase;font-weight:400;min-height:auto;min-width:auto;padding:6px 10px;line-height:1;
}
.woocommerce ul.products li.product .button{margin-top:.4em}
.woocommerce-result-count,
.woocommerce-ordering{font-size:12px;color:var(--taupe)}
.woocommerce-ordering select{border:1px solid var(--line);background:#fff;padding:10px 12px}

/* Tienda y categorías */
.dee2-shop-hero{
  width:100vw;
  max-width:100vw;
  margin:0 calc(50% - 50vw) 36px;
  min-height:300px;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  text-align:left;
  background:
    radial-gradient(circle at 72% 24%,rgba(255,255,255,.75),transparent 32%),
    radial-gradient(circle at 18% 70%,rgba(180,145,94,.24),transparent 36%),
    linear-gradient(135deg,#F3ECE3,#E4D6C4);
  padding:70px 28px;
}
.dee2-shop-hero > div{max-width:1180px;width:100%;margin:0 auto}
.dee2-shop-hero h1{font-size:clamp(54px,7vw,90px);line-height:.94;margin:12px 0 18px}
.dee2-shop-hero p{max-width:620px;margin:0;color:#5c5248;font-size:17px}
.archive.woocommerce .site-main,
.post-type-archive-product .site-main{padding-top:0}
.archive.woocommerce .woocommerce-info,
.post-type-archive-product .woocommerce-info,
.archive.woocommerce .woocommerce-notices-wrapper,
.post-type-archive-product .woocommerce-notices-wrapper,
.archive.woocommerce .storefront-sorting,
.post-type-archive-product .storefront-sorting,
.archive.woocommerce ul.products,
.post-type-archive-product ul.products{
  max-width:1180px;
  margin-left:auto;
  margin-right:auto;
  padding-left:28px;
  padding-right:28px;
}
.storefront-sorting{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-top:18px;padding-bottom:18px;margin-bottom:34px}
.dee2-empty-shop{
  width:100vw;
  max-width:100vw;
  margin:34px calc(50% - 50vw) 92px;
  background:#fff;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  border-left:0;
  border-right:0;
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  min-height:360px;
  overflow:hidden;
}
.dee2-empty-shop > *{min-width:0}
.dee2-empty-visual{
  min-height:360px;
  background:
    radial-gradient(circle at 60% 32%,rgba(255,255,255,.86),transparent 28%),
    linear-gradient(135deg,#EDE3D6,#C9AE86);
  display:grid;
  place-items:center;
}
.dee2-empty-visual span{
  width:150px;
  height:150px;
  border:1px solid rgba(63,58,52,.55);
  border-radius:50%;
  position:relative;
}
.dee2-empty-visual span:before,
.dee2-empty-visual span:after{
  content:"";
  position:absolute;
  inset:32px;
  border:1px dashed rgba(63,58,52,.45);
  border-radius:50%;
}
.dee2-empty-copy{padding:64px 56px;align-self:center}
.dee2-empty-shop h2{font-size:clamp(34px,5vw,52px);line-height:1;margin:12px 0 18px}
.dee2-empty-shop p{max-width:610px;margin:0 0 28px;color:#5c5248}

/* ---------- Ficha de producto ---------- */
.woocommerce div.product .product_title{font-size:2.4rem}
.woocommerce div.product p.price,
.woocommerce div.product span.price{color:var(--gold);font-size:1.5rem;font-weight:400}
.woocommerce .woocommerce-tabs ul.tabs li.active{background:var(--cream)}
.single-product div.product{background:#fff;border:1px solid var(--line);padding:34px;margin-top:28px}
.single-product div.product .woocommerce-product-gallery{background:var(--cream);padding:18px}
.single-product div.product .summary{padding:12px 10px 10px 28px}
.single-product div.product .product_title{font-size:clamp(38px,5vw,58px);line-height:1}
.single-product div.product .summary .price{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0;margin:22px 0}
.single-product .single_add_to_cart_button{width:100%;margin-top:12px}
.single-product .product_meta{font-size:12px;text-transform:uppercase;letter-spacing:1.4px;color:var(--taupe);border-top:1px solid var(--line);padding-top:18px}
.single-product .woocommerce-tabs{background:var(--cream);padding:34px;margin-top:42px}
.single-product .related.products{margin-top:68px}
.single-product .related.products > h2{font-size:42px;text-align:center;margin-bottom:32px}

/* Ficha de producto editorial */
.single-product.woocommerce-page .site-content,
.single-product.woocommerce-page .site-content .col-full,
.single-product.woocommerce-page .content-area,
.single-product.woocommerce-page .site-main{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
}
.single-product .storefront-breadcrumb{display:none}
.single-product div.product{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1.9fr) minmax(390px,.92fr);
  gap:40px;
  align-items:start;
  width:100%;
  max-width:none;
  margin:0!important;
  padding:0!important;
  background:#fff;
  border:0;
}
.single-product div.product > span.onsale,
.single-product.woocommerce span.onsale{
  position:absolute!important;
  top:28px!important;
  left:28px!important;
  right:auto!important;
  z-index:20;
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  width:auto!important;
  min-width:96px!important;
  min-height:96px!important;
  padding:14px 18px!important;
  border:0!important;
  border-radius:50%!important;
  background:#2B2622!important;
  color:#fff!important;
  box-shadow:0 18px 44px rgba(43,38,34,.22);
  font-family:var(--serif);
  font-size:18px!important;
  line-height:1!important;
  letter-spacing:.5px!important;
  text-transform:none!important;
  text-align:center;
}
.single-product div.product > span.onsale:after,
.single-product.woocommerce span.onsale:after{
  content:"especial";
  display:block;
  margin-top:5px;
  font-family:var(--sans);
  font-size:9px;
  letter-spacing:1.6px;
  text-transform:uppercase;
  color:#D7ECE8;
}
.single-product div.product:before,
.single-product div.product:after{display:none}
.single-product div.product .woocommerce-product-gallery{
  grid-column:1;
  grid-row:1;
  width:100%!important;
  float:none!important;
  margin:0!important;
  padding:0!important;
  background:#f1f1f1;
}
.single-product div.product .woocommerce-product-gallery__trigger{
  top:22px;
  right:22px;
  background:#fff;
  border:1px solid rgba(43,38,34,.12);
}
.single-product div.product .woocommerce-product-gallery__wrapper{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:4px;
  margin:0!important;
}
.single-product div.product .woocommerce-product-gallery__image{
  background:#efefef;
  min-height:min(760px,78vh);
  display:flex!important;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}
.single-product div.product .woocommerce-product-gallery__image:only-child{
  grid-column:1/-1;
}
.single-product div.product .woocommerce-product-gallery__image a{
  display:flex;
  width:100%;
  height:100%;
  align-items:center;
  justify-content:center;
}
.single-product div.product .woocommerce-product-gallery__image img{
  width:100%;
  height:100%;
  object-fit:contain;
  mix-blend-mode:multiply;
}
.single-product div.product .flex-control-thumbs{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:4px;
  margin:4px 0 0!important;
}
.single-product div.product .flex-control-thumbs li{
  width:auto!important;
  float:none!important;
  background:#efefef;
}
.single-product div.product .summary{
  grid-column:2;
  grid-row:1;
  width:auto!important;
  float:none!important;
  position:sticky;
  top:24px;
  min-height:100vh;
  padding:46px clamp(32px,3vw,62px) 54px 0!important;
  margin:0!important;
  color:#1f1b18;
}
.single-product div.product .product_title{
  font-size:clamp(38px,3.4vw,58px);
  line-height:.98;
  margin:0 0 14px;
  letter-spacing:-.4px;
}
.single-product div.product p.price,
.single-product div.product span.price{
  color:#1f1b18;
  font-family:var(--serif);
  font-size:24px;
  margin:0 0 24px;
}
.single-product div.product p.price del,
.single-product div.product span.price del{
  color:#9a9188;
  margin-left:7px;
}
.single-product div.product p.price ins,
.single-product div.product span.price ins{
  color:#1f1b18;
  text-decoration:none;
}
.single-product div.product .summary .price{
  border:0;
  padding:0;
}
.single-product div.product form.cart{
  margin:26px 0 24px;
  display:flex;
  gap:12px;
  align-items:stretch;
}
.single-product div.product form.cart .quantity{
  float:none;
  margin:0;
}
.single-product div.product form.cart .quantity .qty{
  height:52px;
  border:1px solid #d8d0c8;
  background:#fff;
}
.single-product .single_add_to_cart_button{
  min-height:56px;
  flex:1;
  width:auto;
  float:none;
  background:#000!important;
  border-color:#000!important;
  color:#fff!important;
  font-family:var(--serif);
  font-size:16px;
  letter-spacing:.5px;
  text-transform:uppercase;
}
.single-product .single_add_to_cart_button:before{
  content:"⊂";
  display:inline-block;
  margin-right:9px;
  transform:rotate(-90deg);
}
.single-product .single_add_to_cart_button:hover{
  background:#2b2622!important;
}
.single-product .woocommerce-variation-price{
  margin:18px 0;
}
.single-product table.variations{
  margin:18px 0 26px;
}
.single-product table.variations th,
.single-product table.variations td{
  display:block;
  padding:0 0 10px;
  background:transparent;
}
.single-product table.variations label{
  font-weight:400;
  color:#1f1b18;
}
.single-product table.variations select{
  width:100%;
  border:1px solid #d8d0c8;
  background:#fff;
  min-height:48px;
}
.dee2-product-trust{
  list-style:none;
  margin:28px 0 28px;
  padding:0;
  border-top:1px solid #cfc4ba;
  border-bottom:1px solid #cfc4ba;
}
.dee2-product-trust li{
  display:flex;
  align-items:center;
  gap:12px;
  padding:13px 0;
  margin:0;
  font-family:var(--serif);
  font-size:18px;
  text-transform:uppercase;
  letter-spacing:.3px;
  border-bottom:1px solid rgba(207,196,186,.6);
}
.dee2-product-trust li:last-child{border-bottom:0}
.dee2-product-trust span{
  width:22px;
  color:#2F6F84;
  text-align:center;
}
.dee2-product-accordions{
  border-top:1px solid #bfb3aa;
}
.dee2-product-accordions details{
  border-bottom:1px solid #bfb3aa;
}
.dee2-product-accordions summary{
  cursor:pointer;
  list-style:none;
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:15px 0;
  font-family:var(--serif);
  font-size:28px;
  line-height:1.1;
}
.dee2-product-accordions summary::-webkit-details-marker{display:none}
.dee2-product-accordions summary:after{
  content:"+";
  font-family:var(--sans);
  font-size:18px;
  color:#2b2622;
}
.dee2-product-accordions details[open] summary:after{content:"−"}
.dee2-product-accordions details > div{
  padding:0 0 18px;
  color:#443b34;
  line-height:1.7;
}
.dee2-product-accordions table.shop_attributes{
  border:0;
  margin:0;
}
.dee2-product-accordions table.shop_attributes th,
.dee2-product-accordions table.shop_attributes td{
  border:0;
  border-bottom:1px solid rgba(207,196,186,.55);
  background:transparent!important;
  padding:10px 0;
}
.single-product .woocommerce-tabs{display:none!important}
.single-product .related.products,
.single-product .upsells.products{
  grid-column:1/-1;
  width:100vw;
  max-width:100vw;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  padding:74px 0 36px;
  background:#fff;
  overflow:hidden;
}
.single-product .related.products > h2,
.single-product .upsells.products > h2{
  text-align:left;
  padding:0 36px;
  margin:0 0 42px;
  font-family:var(--serif);
  font-size:clamp(32px,3vw,46px);
  text-transform:uppercase;
  letter-spacing:.8px;
}
.single-product .related.products ul.products,
.single-product .upsells.products ul.products{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:0!important;
  width:100%;
  margin:0!important;
}
.single-product .related.products ul.products li.product,
.single-product .upsells.products ul.products li.product{
  width:auto!important;
  float:none!important;
  margin:0!important;
  border:0;
  border-right:1px solid #fff;
  box-shadow:none;
  padding:0 0 24px;
  text-align:left;
}
.single-product .related.products ul.products li.product img,
.single-product .upsells.products ul.products li.product img{
  aspect-ratio:1/1.25;
  object-fit:contain;
  background:#efefef;
  margin:0 0 18px!important;
  padding:8px;
}
.single-product .related.products ul.products li.product .woocommerce-loop-product__title,
.single-product .related.products ul.products li.product .price,
.single-product .upsells.products ul.products li.product .woocommerce-loop-product__title,
.single-product .upsells.products ul.products li.product .price{
  padding-left:24px;
  padding-right:24px;
}
.single-product .related.products ul.products li.product .button,
.single-product .upsells.products ul.products li.product .button{
  display:none;
}
.dee2-product-reviews{
  grid-column:1/-1;
  width:100vw;
  max-width:100vw;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  padding:82px clamp(24px,5vw,76px);
  background:#fff;
}
.dee2-review-head{
  max-width:820px;
  margin:0 auto 36px;
  text-align:center;
}
.dee2-review-head h2{
  font-size:clamp(34px,4vw,54px);
  margin:8px 0 10px;
}
.dee2-review-head p{
  color:#6c6259;
}
.dee2-review-box{
  max-width:1200px;
  margin:0 auto;
  border-top:1px solid var(--line);
  padding-top:28px;
}
.dee2-product-reviews #reviews,
.dee2-product-reviews #comments,
.dee2-product-reviews #review_form_wrapper{
  max-width:100%;
}
.dee2-product-reviews #comments h2,
.dee2-product-reviews #review_form_wrapper .comment-reply-title{
  font-family:var(--serif);
  font-size:30px;
}
.dee2-product-reviews .commentlist{
  list-style:none;
  margin:0;
  padding:0;
}
.dee2-product-reviews .comment_container{
  background:#f9f6f1;
  border:1px solid var(--line);
  padding:24px;
  margin-bottom:18px;
}
.dee2-product-bottom-perks{
  grid-column:1/-1;
  width:100vw;
  max-width:100vw;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:0;
  background:#eeeeee;
  padding:58px clamp(24px,5vw,76px);
}
.dee2-product-bottom-perks article{
  text-align:center;
  padding:0 34px;
}
.dee2-product-bottom-perks span{
  display:block;
  font-size:27px;
  margin-bottom:18px;
}
.dee2-product-bottom-perks h3{
  font-size:30px;
  margin:0 0 8px;
}
.dee2-product-bottom-perks p{
  max-width:430px;
  margin:0 auto;
  color:#4d453e;
}
.dee2-product-instagram{
  grid-column:1/-1;
  width:100vw;
  max-width:100vw;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  padding:72px 0 0;
  background:#fff;
}

/* Cesta */
.woocommerce-cart .entry-header,
.woocommerce-checkout .entry-header,
.woocommerce-account .entry-header{
  text-align:center;
  background:linear-gradient(135deg,#F3ECE3,#E4D6C4);
  padding:70px 24px;
  margin-bottom:48px;
  width:100vw;
  max-width:100vw;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
}
.woocommerce-cart .entry-title,
.woocommerce-checkout .entry-title,
.woocommerce-account .entry-title{
  font-size:clamp(52px,7vw,84px);
  line-height:.95;
  margin:0;
}
.woocommerce-cart .woocommerce,
.woocommerce-checkout .woocommerce,
.woocommerce-account .woocommerce{
  max-width:1180px;
  margin:0 auto 90px;
  padding:0 28px;
}
.woocommerce-cart .cart-empty{
  max-width:760px;
  margin:0 auto 22px;
  background:#fff;
  border:1px solid var(--line);
  padding:64px 32px;
  text-align:center;
  font-family:var(--serif);
  font-size:30px;
  color:var(--charcoal);
}
.woocommerce-cart .cart-empty:before{
  content:"";
  display:block;
  width:116px;
  height:116px;
  margin:0 auto 28px;
  border:1px solid rgba(63,58,52,.55);
  border-radius:50%;
  background:
    radial-gradient(circle at 48% 42%, transparent 0 44%, rgba(63,58,52,.12) 45% 46%, transparent 47%),
    linear-gradient(135deg,#EDE3D6,#C9AE86);
}
.woocommerce-cart .return-to-shop{
  text-align:center;
  margin-bottom:70px;
}
.woocommerce-cart table.shop_table{
  background:#fff;
  border:1px solid var(--line);
  border-collapse:collapse;
}
.woocommerce-cart table.shop_table th{
  font-size:11px;
  letter-spacing:2px;
  text-transform:uppercase;
  color:var(--taupe);
}
.woocommerce-cart table.shop_table td,
.woocommerce-cart table.shop_table th{
  border-color:var(--line);
  padding:18px;
}
.woocommerce-cart .product-name a{
  font-family:var(--serif);
  font-size:22px;
}
.woocommerce-cart .quantity .qty{
  border:1px solid var(--line);
  padding:10px;
  width:74px;
}
.woocommerce-cart .cart_totals{
  background:#fff;
  border:1px solid var(--line);
  padding:28px;
}
.woocommerce-cart .cart_totals h2{
  font-size:36px;
}
.woocommerce-cart .cross-sells > h2{
  text-align:center;
  font-size:42px;
  margin:70px 0 30px;
}

/* Cesta y checkout premium */
.woocommerce-cart,
.woocommerce-checkout{
  --checkout-blue:#2F6F84;
  --checkout-mint:#D7ECE8;
  --checkout-blush:#F6E8E1;
}
.woocommerce-cart .entry-header,
.woocommerce-checkout .entry-header{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 18% 18%,rgba(255,255,255,.82),transparent 28%),
    radial-gradient(circle at 86% 22%,rgba(215,236,232,.86),transparent 25%),
    linear-gradient(135deg,#F5EEE7 0%,#E2D0BA 100%);
}
.woocommerce-cart .entry-header:after,
.woocommerce-checkout .entry-header:after{
  content:"";
  position:absolute;
  right:10%;
  bottom:-54px;
  width:190px;
  height:190px;
  border:1px solid rgba(63,58,52,.16);
  border-radius:50%;
}
.woocommerce-cart .entry-title,
.woocommerce-checkout .entry-title{
  position:relative;
  z-index:1;
  letter-spacing:-1px;
}
.dee2-commerce-perks{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0;
  max-width:1124px;
  margin:0 auto 42px;
  border:1px solid var(--line);
  background:#fff;
  box-shadow:0 22px 60px rgba(43,38,34,.06);
}
.dee2-commerce-perks div{
  padding:26px 30px;
  border-right:1px solid var(--line);
}
.dee2-commerce-perks div:last-child{border-right:0}
.dee2-commerce-perks span{
  display:block;
  margin-bottom:12px;
  color:#2F6F84;
  font-size:11px;
  letter-spacing:2.4px;
}
.dee2-commerce-perks strong{
  display:block;
  font-family:var(--serif);
  font-size:25px;
  font-weight:400;
  color:var(--charcoal);
}
.dee2-commerce-perks p{
  margin:8px 0 0;
  color:#74695e;
  font-size:14px;
  line-height:1.55;
}
.woocommerce-cart .woocommerce-notices-wrapper,
.woocommerce-checkout .woocommerce-notices-wrapper{
  max-width:1124px;
  margin:0 auto 20px;
}
.woocommerce-cart .woocommerce-message,
.woocommerce-cart .woocommerce-info,
.woocommerce-cart .woocommerce-error,
.woocommerce-checkout .woocommerce-message,
.woocommerce-checkout .woocommerce-info,
.woocommerce-checkout .woocommerce-error{
  max-width:1124px;
  margin:0 auto 24px!important;
  border:0;
  border-left:4px solid #2F6F84;
  background:#fff;
  color:var(--charcoal);
  box-shadow:0 16px 42px rgba(43,38,34,.06);
  padding:18px 22px 18px 58px;
}
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info{
  background:#2B2622;
  color:#fff;
  border-left-color:#D7ECE8;
  letter-spacing:.2px;
}
.woocommerce-checkout .woocommerce-form-coupon-toggle a{
  color:#D7ECE8;
  border-bottom:1px solid rgba(215,236,232,.7);
}
.woocommerce form.checkout_coupon,
.woocommerce form.login,
.woocommerce form.register{
  max-width:1124px;
  margin:0 auto 34px;
  background:#fff;
  border:1px solid var(--line);
  box-shadow:0 18px 52px rgba(43,38,34,.05);
  padding:24px;
}
.woocommerce-cart form.woocommerce-cart-form{
  background:#fff;
  border:1px solid var(--line);
  box-shadow:0 24px 70px rgba(43,38,34,.07);
  padding:24px;
}
.woocommerce-cart table.shop_table{
  border:0;
  margin:0;
}
.woocommerce-cart table.shop_table thead th,
.woocommerce-checkout table.shop_table thead th{
  background:#F5EEE7;
  color:#5c5248;
  padding:18px 20px;
}
.woocommerce-cart table.cart td{
  vertical-align:middle;
}
.woocommerce-cart table.cart img{
  width:92px;
  border:1px solid var(--line);
  background:#F5EEE7;
}
.woocommerce-cart table.cart .product-remove a.remove{
  color:#2B2622!important;
  border:1px solid var(--line);
  width:32px;
  height:32px;
  line-height:29px;
}
.woocommerce-cart table.cart .product-remove a.remove:hover{
  background:#2B2622;
  color:#fff!important;
}
.woocommerce-cart table.cart td.actions{
  background:#F9F6F1;
  padding:22px;
}
.woocommerce-cart table.cart td.actions .coupon{
  display:flex;
  gap:12px;
  align-items:center;
}
.woocommerce-cart table.cart td.actions .coupon label{
  display:none;
}
.woocommerce-cart table.cart td.actions .coupon .input-text,
.woocommerce-checkout form.checkout_coupon .input-text{
  min-width:240px;
  border:1px solid var(--line);
  background:#fff;
  padding:13px 16px;
}
.woocommerce-cart .cart-collaterals{
  margin-top:34px;
}
.woocommerce-cart .cart-collaterals:before,
.woocommerce-cart .cart-collaterals:after{display:none}
.woocommerce-cart .cart_totals{
  width:min(460px,100%)!important;
  float:right;
  background:
    linear-gradient(180deg,#fff 0%,#F9F6F1 100%);
  box-shadow:0 24px 70px rgba(43,38,34,.08);
  padding:34px;
}
.woocommerce-cart .cart_totals h2{
  margin:0 0 22px;
  line-height:1;
}
.woocommerce-cart .cart_totals table.shop_table{
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.woocommerce-cart .cart_totals th,
.woocommerce-cart .cart_totals td{
  padding:18px 0!important;
  border-color:var(--line)!important;
}
.woocommerce-cart .wc-proceed-to-checkout{
  padding-bottom:0;
}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{
  width:100%;
  margin-bottom:0;
  background:#2B2622;
  border-color:#2B2622;
  color:#fff;
}
.woocommerce-checkout form.checkout{
  max-width:1124px;
  margin:0 auto 96px;
  display:grid;
  grid-template-columns:minmax(0,1.24fr) minmax(360px,.76fr);
  column-gap:42px;
  row-gap:0;
  align-items:start;
}
.woocommerce-checkout form.checkout:before,
.woocommerce-checkout form.checkout:after{display:none}
.woocommerce-checkout #customer_details,
.woocommerce-checkout #order_review{
  width:auto!important;
  float:none!important;
}
.woocommerce-checkout #customer_details{
  grid-column:1;
  grid-row:1 / span 2;
  background:#fff;
  border:1px solid var(--line);
  box-shadow:0 24px 70px rgba(43,38,34,.06);
  padding:34px;
}
.woocommerce-checkout .col2-set{
  width:100%!important;
  float:none!important;
}
.woocommerce-checkout .col2-set .col-1,
.woocommerce-checkout .col2-set .col-2{
  width:100%!important;
  float:none!important;
}
.woocommerce-checkout .col2-set .col-2{
  margin-top:30px;
  padding-top:28px;
  border-top:1px solid var(--line);
}
.woocommerce-checkout h3{
  font-size:clamp(32px,3vw,42px);
  line-height:1.05;
  margin:0 0 24px;
}
.woocommerce-checkout #order_review_heading{
  grid-column:2;
  grid-row:1;
  align-self:start;
  width:100%!important;
  min-width:0;
  box-sizing:border-box;
  margin:0 0 -1px;
  padding:34px 34px 14px;
  background:#2B2622;
  color:#fff;
  font-size:40px;
  box-shadow:none;
}
.woocommerce-checkout #order_review{
  grid-column:2;
  grid-row:2;
  width:100%!important;
  min-width:0;
  box-sizing:border-box;
  margin-top:0;
  background:#2B2622;
  color:#fff;
  padding:12px 34px 34px;
  box-shadow:0 24px 70px rgba(43,38,34,.12);
}
.woocommerce-checkout #order_review table.shop_table{
  border:0;
  margin:0 0 24px;
  color:#fff;
  background:transparent;
}
.woocommerce-checkout #order_review table.shop_table th,
.woocommerce-checkout #order_review table.shop_table td{
  border-color:rgba(255,255,255,.16)!important;
  color:#fff;
  background:transparent!important;
  padding:18px 0;
}
.woocommerce-checkout #order_review table.shop_table thead th{
  background:transparent;
  color:#D7ECE8;
}
.woocommerce-checkout #order_review .product-name{
  font-family:var(--serif);
  font-size:20px;
}
.woocommerce-checkout #order_review .woocommerce-Price-amount{
  color:#fff;
  font-weight:500;
}
.woocommerce-checkout #payment{
  background:#F9F6F1;
  color:var(--charcoal);
  border:1px solid rgba(255,255,255,.1);
  margin-top:24px;
}
.woocommerce-checkout #payment ul.payment_methods{
  border-bottom:1px solid var(--line);
}
.woocommerce-checkout #payment div.payment_box{
  background:#fff;
  color:#5c5248;
}
.woocommerce-checkout #payment div.payment_box:before{
  border-bottom-color:#fff;
}
.woocommerce-checkout #place_order{
  width:100%;
  padding:18px 26px;
  background:#D7ECE8;
  border-color:#D7ECE8;
  color:#2B2622;
}
.woocommerce-checkout #place_order:hover{
  background:#fff;
  border-color:#fff;
}
.woocommerce-checkout .woocommerce-privacy-policy-text{
  color:#4d453e;
  font-size:14px;
  line-height:1.65;
}
.woocommerce-checkout .woocommerce-privacy-policy-text a{
  color:#2B2622;
  text-decoration:underline;
  text-underline-offset:3px;
}
.woocommerce form .form-row{
  margin-bottom:19px;
}
.woocommerce form .form-row label{
  margin-bottom:8px;
  color:#2B2622;
  font-size:13px;
  letter-spacing:.3px;
}
.woocommerce form .form-row .required{
  color:#2F6F84;
}
.woocommerce input.input-text,
.woocommerce textarea,
.woocommerce select,
.woocommerce .select2-container--default .select2-selection--single{
  border:1px solid var(--line)!important;
  background:#F9F6F1!important;
  min-height:48px;
  padding:13px 15px;
  color:#2B2622;
  border-radius:0!important;
}
.woocommerce textarea{
  min-height:130px;
}
.woocommerce input.input-text:focus,
.woocommerce textarea:focus,
.woocommerce select:focus,
.woocommerce .select2-container--default.select2-container--open .select2-selection--single{
  outline:1px solid #2F6F84;
  background:#fff!important;
}
.woocommerce .select2-container--default .select2-selection--single .select2-selection__rendered{
  color:#2B2622;
  line-height:22px;
  padding-left:0;
}
.woocommerce .select2-container--default .select2-selection--single .select2-selection__arrow{
  height:48px;
}

/* Mi cuenta y Club DEE2 */
.woocommerce-account .woocommerce{
  display:grid;
  grid-template-columns:280px minmax(0,1fr);
  gap:30px;
  align-items:start;
}
.woocommerce-account .woocommerce:before,
.woocommerce-account .woocommerce:after{display:none}
.woocommerce-account .woocommerce-MyAccount-navigation{
  width:auto;
  float:none;
  background:#fff;
  border:1px solid var(--line);
  padding:22px;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul{
  margin:0;
  list-style:none;
}
.woocommerce-account .woocommerce-MyAccount-navigation li{
  border-bottom:1px solid var(--line);
  margin:0;
}
.woocommerce-account .woocommerce-MyAccount-navigation li:last-child{border-bottom:0}
.woocommerce-account .woocommerce-MyAccount-navigation a{
  display:block;
  padding:13px 0;
  text-transform:uppercase;
  font-size:11px;
  letter-spacing:1.4px;
}
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a{color:var(--gold)}
.woocommerce-account .woocommerce-MyAccount-content{
  width:auto;
  float:none;
  background:#fff;
  border:1px solid var(--line);
  padding:32px;
}
.dee2-loyalty-hero{
  background:linear-gradient(135deg,#F3ECE3,#E4D6C4);
  padding:42px;
  margin-bottom:24px;
}
.dee2-loyalty-hero h2{
  font-size:clamp(42px,5vw,64px);
  line-height:.96;
  margin:8px 0 12px;
}
.dee2-loyalty-hero p{
  max-width:680px;
  color:#5c5248;
  margin:0;
}
.dee2-loyalty-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}
.dee2-loyalty-grid article{
  border:1px solid var(--line);
  padding:28px;
  background:var(--ivory);
}
.dee2-points-card{
  grid-row:span 2;
  text-align:center;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  background:
    radial-gradient(circle at 50% 28%,rgba(255,255,255,.86),transparent 34%),
    linear-gradient(135deg,#EDE3D6,#C9AE86)!important;
}
.dee2-points-card span{
  text-transform:uppercase;
  letter-spacing:2px;
  font-size:11px;
  color:var(--gold);
}
.dee2-points-card strong{
  font-family:var(--display);
  font-size:82px;
  line-height:1;
  color:var(--charcoal);
  margin:14px 0;
}
.dee2-loyalty-grid h3{font-size:30px}
.dee2-loyalty-grid li{margin-bottom:8px}

/* ---------- Sidebar / widgets ---------- */
.widget-area .widget-title,.widget .widget-title{
  font-family:var(--serif);font-size:1.4rem;font-weight:500;
}

/* =========================================================
   PORTADA (front-page.php) y páginas a medida
   ========================================================= */
.dee2-section{padding:88px 0}
.home .site-content,
.home .site-content .col-full,
.home .content-area,
.home .site-main,
.page-template-front-page .site-content,
.page-template-front-page .site-content .col-full,
.page-template-front-page .content-area,
.page-template-front-page .site-main,
body:has(.dee2-front) .site-content,
body:has(.dee2-front) .site-content .col-full,
body:has(.dee2-front) .content-area,
body:has(.dee2-front) .site-main{
  max-width:none;
  width:100%;
  margin-left:0;
  margin-right:0;
  padding-left:0;
  padding-right:0;
  float:none;
}
.home .widget-area,
body:has(.dee2-front) .widget-area{
  display:none;
}
.dee2-front .site-main,
.dee2-front{max-width:none;width:100%}
.dee2-section.alt{background:var(--cream)}
.dee2-wrap{max-width:1240px;margin:0 auto;padding:0 28px}
.dee2-head{text-align:center;max-width:640px;margin:0 auto 50px}
.dee2-head h2{font-size:clamp(30px,4vw,44px);margin:12px 0 14px}
.dee2-head p{color:var(--taupe)}
.dee2-center{text-align:center}
.dee2-btn{
  display:inline-block;font-family:var(--sans);font-size:12px;letter-spacing:2.5px;text-transform:uppercase;
  padding:15px 34px;border:1px solid var(--charcoal);background:var(--charcoal);color:var(--ivory);transition:.3s;
}
.dee2-btn:hover{background:transparent;color:var(--charcoal)}
.dee2-btn.ghost{background:transparent;color:var(--charcoal)}
.dee2-btn.ghost:hover{background:var(--charcoal);color:var(--ivory)}
.dee2-btn.gold{background:var(--gold);border-color:var(--gold);color:#fff}
.dee2-link{display:inline-block;font-size:12px;letter-spacing:2px;text-transform:uppercase;border-bottom:1px solid var(--gold);padding-bottom:3px;white-space:nowrap}

/* Hero */
.dee2-hero{background:linear-gradient(135deg,#F3ECE3 0%,#EDE3D6 55%,#E4D6C4 100%)}
.dee2-hero-inner{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;min-height:70vh;gap:40px;
  max-width:1240px;margin:0 auto;padding:0 28px}
.dee2-hero-copy{padding:60px 0}
.dee2-hero h1{font-family:var(--serif);font-size:clamp(42px,6vw,72px);line-height:1.02;margin:16px 0 22px}
.dee2-hero h1 em{font-style:italic;color:var(--gold)}
.dee2-hero p{max-width:430px;color:#5c5248;font-size:17px;margin-bottom:32px}
.dee2-hero-visual{min-height:70vh;position:relative;
  background:radial-gradient(circle at 62% 40%,rgba(255,255,255,.85),transparent 42%),
             radial-gradient(circle at 40% 70%,rgba(180,145,94,.28),transparent 45%),
             linear-gradient(120deg,#e8d9c6,#d8c2a6)}

/* Tira de valores */
.dee2-values{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;text-align:center}
.dee2-values .v svg{width:34px;height:34px;color:var(--gold);margin:0 auto 12px}
.dee2-value-icon{width:44px;height:44px;margin:0 auto 12px;display:flex;align-items:center;justify-content:center}
.dee2-value-icon img{max-width:44px;max-height:44px;width:auto;height:auto;object-fit:contain}
.dee2-values .v h4{font-family:var(--sans);font-size:14px;letter-spacing:1px;text-transform:uppercase;font-weight:500;margin-bottom:5px}
.dee2-values .v p{font-size:13.5px;color:var(--taupe)}

/* Carrusel de ofertas */
.site-main .dee2-front > section:first-child,
.content-area .dee2-front > section:first-child,
.dee2-front > section:first-child{
  width:100vw;
  max-width:100vw;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
}
.dee2-carousel{position:relative;overflow:hidden;width:100%;isolation:isolate}
.dee2-track{position:relative;z-index:1;display:flex;transition:transform .6s cubic-bezier(.4,0,.2,1)}
.dee2-slide{min-width:100%;position:relative;min-height:380px;display:flex;align-items:center;color:#fff;background-size:cover!important;background-position:center!important}
.dee2-slide .in{position:relative;z-index:2;max-width:1240px;margin:0 auto;padding:0 120px;width:100%;align-self:center}
.dee2-slide .box{max-width:480px}
.dee2-brand-mark{display:block;width:220px;max-width:58vw;margin:0 0 28px;mix-blend-mode:multiply}
.dee2-hero-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.dee2-slide::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(43,38,34,.55),rgba(43,38,34,.05) 70%);pointer-events:none}
.dee2-slide .s-eyebrow{font-size:11px;letter-spacing:3px;text-transform:uppercase;opacity:.9;margin-bottom:12px;display:block}
.dee2-slide h2{font-size:clamp(32px,4.6vw,52px);color:#fff;line-height:1.05;margin-bottom:14px}
.dee2-slide h2 em{font-style:italic;color:#f3e3c9}
.dee2-slide p{font-size:16px;color:#fff;opacity:.92;margin-bottom:24px;max-width:400px}
.dee2-slide .dee2-btn{background:#fff;color:var(--charcoal);border-color:#fff}
.dee2-slide .dee2-btn:hover{background:transparent;color:#fff}
.dee2-slide .s-tag{position:absolute;top:26px;right:60px;z-index:3;background:var(--gold);color:#fff;
  width:96px;height:96px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:var(--serif);line-height:1}
.dee2-slide .s-tag b{font-size:30px;font-weight:600}
.dee2-slide .s-tag span{font-size:10px;letter-spacing:2px;text-transform:uppercase;font-family:var(--sans)}
.dee2-car-btn{position:absolute;top:50%;transform:translateY(-50%);z-index:30;background:rgba(255,255,255,.92)!important;
  border:none!important;width:46px;height:46px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.25s;color:var(--charcoal)!important;padding:0!important}
.dee2-car-btn:hover{background:#fff}
.dee2-car-btn.prev{left:28px}.dee2-car-btn.next{right:28px}
.dee2-car-btn svg{width:20px;height:20px}
.dee2-dots{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);z-index:30;display:flex;gap:9px}
.dee2-dots button{width:9px;height:9px;border-radius:50%;border:none;background:rgba(255,255,255,.5);cursor:pointer;transition:.25s;padding:0}
.dee2-dots button.active{background:#fff;width:26px;border-radius:5px}
/* Hero-carrusel: diapositivas más altas */
.dee2-hero-car .dee2-slide{min-height:68vh}
/* Diapositiva de marca (fondo claro, texto oscuro) */
.dee2-slide--brand::after{display:none}
.dee2-slide--brand .s-eyebrow{color:var(--gold);opacity:1}
.dee2-slide--brand h2{font-family:var(--serif);color:var(--charcoal);font-size:clamp(40px,6vw,72px)}
.dee2-slide--brand h2 em{color:var(--gold)}
.dee2-slide--brand p{color:#5c5248;opacity:1}
.dee2-slide--brand .dee2-btn{background:var(--charcoal);color:var(--ivory);border-color:var(--charcoal)}
.dee2-slide--brand .dee2-btn:hover{background:transparent;color:var(--charcoal)}
.dee2-slide--brand .dee2-link{color:var(--charcoal)}
.dee2-slide--brand .deco{position:absolute;right:5%;top:50%;transform:translateY(-50%);width:min(360px,32vw);z-index:1;opacity:.95}
.dee2-slide--brand .deco svg{width:100%}
@media(max-width:700px){
  .dee2-slide{min-height:420px}
  .dee2-slide .in{padding:0 28px}
  .dee2-slide .box{max-width:100%}
  .dee2-slide .s-tag{right:24px;width:80px;height:80px}
  .dee2-car-btn{display:none}
  .dee2-hero-car .dee2-slide{min-height:82vh;align-items:flex-start;padding-top:76px}
  .dee2-slide--brand .dee2-brand-mark{display:block;width:180px}
  .dee2-slide--brand h2{font-size:clamp(36px,12vw,52px);line-height:1.02;margin-bottom:14px}
  .dee2-slide--brand p{font-size:15px;line-height:1.65;margin-bottom:22px}
  .dee2-hero-actions{gap:16px;align-items:flex-start}
  .dee2-hero-actions .dee2-btn{padding:13px 22px}
  .dee2-hero-actions .dee2-link{margin-top:13px}
  .dee2-slide--brand .deco{display:none}
}

/* Rejilla de categorías */
.dee2-categories-wide{
  width:100vw;
  max-width:100vw;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  padding:72px 0 92px;
  background:linear-gradient(180deg,#FBF8F4 0%,#F4EEE8 100%);
  overflow:hidden;
}
.dee2-categories-wide .dee2-head{
  max-width:760px;
  margin-bottom:46px;
}
.dee2-cat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.dee2-categories-wide .dee2-cat-grid{width:100%;gap:28px}
.dee2-categories-wide .dee2-cat-thumb{aspect-ratio:1/1.22}
.dee2-categories-wide .dee2-center{margin-top:46px!important}
.dee2-cat-card{text-align:center;text-decoration:none;transition:.3s;display:block}
.dee2-cat-card:hover{transform:translateY(-4px)}
.dee2-cat-thumb{display:block;aspect-ratio:3/4;overflow:hidden;border-radius:2px;margin-bottom:14px;
  background:linear-gradient(135deg,#e7d6bf,#c9a98a);position:relative}
.dee2-cat-thumb img{width:100%;height:100%;object-fit:cover}
.dee2-ph{display:flex;align-items:center;justify-content:center;pointer-events:none}
.dee2-cat-thumb .dee2-ph{position:absolute;inset:0}
.dee2-cat-thumb .dee2-ph svg{width:44%}
.dee2-cat-name{display:block;font-family:var(--serif);font-size:22px;color:var(--charcoal)}
.dee2-cat-cta{display:block;font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--gold);margin-top:3px}

/* Banners de coleccion */
.dee2-collections-wide{
  width:100vw;
  max-width:100vw;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  background:#F1EAE2;
  padding:96px 0 110px;
  overflow:hidden;
}
.dee2-wide-wrap{width:100%;padding:0 clamp(24px,5vw,76px)}
.dee2-collections-wide .dee2-head{max-width:920px;margin-bottom:44px}
.dee2-collections-wide .dee2-head h2{font-size:clamp(38px,5vw,62px)}
.dee2-col-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.dee2-collections-wide .dee2-col-grid{gap:28px}
.dee2-col{
  position:relative;
  min-height:420px;
  display:flex;
  align-items:flex-end;
  padding:44px;
  color:#fff;
  text-decoration:none;
  overflow:hidden;
  background-size:cover!important;
  background-position:center!important;
  isolation:isolate;
}
.dee2-col::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  background:
    radial-gradient(circle at 18% 18%,rgba(255,255,255,.42),transparent 28%),
    linear-gradient(135deg,rgba(255,255,255,.04),rgba(0,0,0,.16));
}
.dee2-col::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  background:linear-gradient(to top,rgba(16,18,20,.56),rgba(16,18,20,.06));
}
.dee2-col .in{position:relative;z-index:2}
.dee2-col h3{color:inherit;font-size:clamp(32px,4vw,52px);line-height:.95;margin-bottom:22px}
.dee2-col span{font-size:11px;letter-spacing:3px;text-transform:uppercase;opacity:.88}
.dee2-col p{
  max-width:520px;
  color:inherit;
  opacity:.86;
  text-transform:uppercase;
  letter-spacing:2px;
  font-size:12px;
  line-height:1.7;
}

/* Split (conoce) */
.dee2-split{display:grid;grid-template-columns:1fr 1fr;align-items:center}
.dee2-split .art{min-height:500px;background:radial-gradient(circle at 40% 40%,#fff 0,transparent 45%),linear-gradient(135deg,#EDE3D6,#D8C2A6)}
.dee2-brand-art{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:56px;
}
.dee2-brand-art img{
  width:min(360px,70%);
  height:auto;
  display:block;
  mix-blend-mode:multiply;
}
.dee2-split .txt{padding:70px}
.dee2-split .txt h2{font-size:clamp(28px,3.4vw,40px);margin:14px 0 18px}
.dee2-split .txt p{color:#5c5248;margin-bottom:14px}

/* Talleres */
.dee2-taller-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.dee2-taller{background:#fff;border:1px solid var(--line);overflow:hidden;text-decoration:none;transition:.3s;display:block}
.dee2-taller:hover{box-shadow:0 20px 44px rgba(43,38,34,.08);transform:translateY(-3px)}
.dee2-taller .art{height:220px;background-size:cover!important;background-position:center!important}
.dee2-taller .body{padding:32px}
.dee2-taller h3{font-size:26px;margin-bottom:10px}
.dee2-taller p{color:var(--taupe);margin-bottom:16px}

/* Cita */
.dee2-quote{background:var(--charcoal);color:var(--ivory);text-align:center;padding:96px 0}
.dee2-quote p{font-family:var(--serif);font-style:italic;font-size:clamp(24px,3.4vw,34px);max-width:820px;margin:0 auto 22px;line-height:1.4}
.dee2-quote span{font-size:11px;letter-spacing:3px;text-transform:uppercase;color:var(--gold-soft)}

/* Newsletter */
.dee2-news{background:var(--sand);text-align:center;padding:78px 0}
.dee2-news h2{font-size:34px;margin-bottom:10px}
.dee2-news p{color:#5c5248;margin-bottom:24px}
.dee2-news form{display:flex;max-width:460px;margin:0 auto;gap:10px}
.dee2-news input[type="email"]{flex:1;border:1px solid var(--charcoal);background:transparent;padding:15px 18px;font-family:var(--sans)}

/* Instagram */
.dee2-instagram-section{
  width:100vw;
  max-width:100vw;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  background:#fff;
  padding:72px 0 0;
  overflow:hidden;
}
.dee2-insta-head{
  text-align:center;
  padding:0 28px 34px;
}
.dee2-insta-head img{
  width:120px;
  max-width:42vw;
  margin:0 auto 16px;
  display:block;
  mix-blend-mode:multiply;
}
.dee2-insta-head h2{
  font-family:var(--serif);
  font-size:clamp(32px,4vw,48px);
  margin:0 0 4px;
}
.dee2-insta-head p{
  margin:0 0 14px;
  color:#5c5248;
}
.dee2-insta-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:0;
}
.dee2-insta-auto{
  width:100%;
  overflow:hidden;
}
.dee2-insta-auto #sb_instagram,
.dee2-insta-auto .sb_instagram{
  width:100%!important;
  max-width:none!important;
  padding:0!important;
}
.dee2-insta-auto #sb_instagram #sbi_images{
  padding:0!important;
}
.dee2-insta-auto #sb_instagram .sbi_photo_wrap,
.dee2-insta-auto #sb_instagram .sbi_item{
  overflow:hidden;
}
.dee2-insta-auto #sb_instagram .sbi_photo{
  transition:transform .45s ease,filter .45s ease;
}
.dee2-insta-auto #sb_instagram .sbi_photo:hover{
  transform:scale(1.04);
  filter:saturate(1.04);
}
.dee2-insta-auto #sb_instagram .sbi_follow_btn,
.dee2-insta-auto #sb_instagram .sbi_load_btn,
.dee2-insta-auto #sb_instagram .sb_instagram_header{
  display:none!important;
}
.dee2-insta-card{
  position:relative;
  display:block;
  aspect-ratio:1/1;
  overflow:hidden;
  background:
    radial-gradient(circle at 50% 42%,rgba(255,255,255,.64),transparent 32%),
    linear-gradient(135deg,#D7ECE8,#E7D3C8);
}
.dee2-insta-card img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  transition:transform .45s ease,filter .45s ease;
}
.dee2-insta-placeholder{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
}
.dee2-insta-placeholder .dee2-ph{position:static;width:34%;aspect-ratio:1}
.dee2-insta-placeholder .dee2-ph svg{width:100%;height:100%}
.dee2-insta-overlay{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(43,38,34,.42);
  opacity:0;
  transition:opacity .35s ease;
}
.dee2-insta-overlay span{
  color:#fff;
  font-size:11px;
  letter-spacing:2px;
  text-transform:uppercase;
  border:1px solid rgba(255,255,255,.72);
  padding:12px 18px;
}
.dee2-insta-card:hover img{transform:scale(1.05);filter:saturate(1.04)}
.dee2-insta-card:hover .dee2-insta-overlay{opacity:1}
.dee2-insta-empty{
  max-width:760px;
  margin:0 auto;
  padding:40px 28px 70px;
  text-align:center;
  color:#5c5248;
}

/* Página historia (Conoce) */
.dee2-story-hero{background:linear-gradient(135deg,#EDE3D6,#E4D6C4);text-align:center;padding:90px 0}
.dee2-story-hero h1{font-family:var(--serif);font-size:clamp(40px,6vw,64px)}
.dee2-story{max-width:760px;margin:0 auto;padding:70px 28px}
.dee2-story p{font-size:18px;color:#453e37;margin-bottom:24px;line-height:1.85}
.dee2-story p.lead{font-family:var(--serif);font-style:italic;font-size:24px;color:var(--charcoal)}
.dee2-sign{font-family:var(--serif);font-style:italic;font-size:28px;color:var(--gold);text-align:center;margin-top:36px}

/* Paginas de coleccion */
.page-template-tpl-coleccion .site-content,
.page-template-tpl-coleccion .site-content .col-full,
.page-template-tpl-coleccion .content-area,
.page-template-tpl-coleccion .site-main{
  max-width:none;
  width:100%;
  margin:0;
  padding:0;
  float:none;
}
.page-template-tpl-coleccion .widget-area{display:none}
.dee2-collection-hero{
  min-height:620px;
  display:grid;
  grid-template-columns:minmax(440px,45vw) minmax(0,1fr);
  align-items:stretch;
  background:var(--ivory);
}
.dee2-collection-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-width:0;
  width:100%;
  max-width:720px;
  margin:0 auto;
  padding:90px clamp(34px,5vw,78px);
}
.dee2-collection-copy h1{
  max-width:100%;
  font-size:clamp(54px,6.4vw,92px);
  line-height:.96;
  margin:14px 0 22px;
  white-space:normal;
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
}
.dee2-collection-copy .lead{
  font-family:var(--serif);
  font-size:clamp(24px,3vw,34px);
  line-height:1.2;
  color:var(--charcoal);
  margin-bottom:20px;
}
.dee2-collection-copy p{max-width:620px;color:#5c5248;overflow-wrap:normal;word-break:normal}
.dee2-collection-actions{
  display:flex;
  gap:24px;
  align-items:center;
  flex-wrap:wrap;
  margin-top:28px;
}
.dee2-collection-visual{
  position:relative;
  min-height:620px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  background:
    radial-gradient(circle at 22% 34%,rgba(255,255,255,.72),transparent 27%),
    radial-gradient(circle at 76% 72%,rgba(180,145,94,.28),transparent 32%),
    linear-gradient(135deg,#EDE3D6,#D8C2A6);
}
.dee2-collection-islands .dee2-collection-visual{
  background:
    radial-gradient(circle at 22% 34%,rgba(255,255,255,.72),transparent 27%),
    radial-gradient(circle at 70% 72%,rgba(180,145,94,.24),transparent 34%),
    linear-gradient(135deg,#DCE7E8,#8FB3C4 54%,#D8C2A6);
}
.dee2-collection-almar .dee2-collection-visual{
  background:
    radial-gradient(circle at 26% 32%,rgba(255,255,255,.72),transparent 27%),
    radial-gradient(circle at 76% 72%,rgba(180,145,94,.32),transparent 34%),
    linear-gradient(135deg,#F3ECE3,#C9AE86 58%,#A9805C);
}
.dee2-collection-visual img{
  position:relative;
  z-index:2;
  width:min(360px,52%);
  height:auto;
  mix-blend-mode:multiply;
}
.dee2-collection-visual .orb{
  position:absolute;
  border-radius:50%;
  border:1px solid rgba(63,58,52,.24);
}
.dee2-collection-visual .orb-one{width:180px;height:180px;right:12%;top:18%}
.dee2-collection-visual .orb-two{width:110px;height:110px;left:14%;bottom:18%;border-style:dashed}
.dee2-collection-notes{
  max-width:1180px;
  margin:-64px auto 0;
  padding:0 28px;
  position:relative;
  z-index:3;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}
.dee2-collection-notes article{
  background:#fff;
  border:1px solid var(--line);
  padding:26px;
  min-height:132px;
  box-shadow:0 18px 46px rgba(43,38,34,.06);
}
.dee2-collection-notes span{
  width:34px;
  height:34px;
  display:block;
  border-radius:50%;
  margin-bottom:18px;
  background:linear-gradient(135deg,#EDE3D6,#B4915E);
}
.dee2-collection-notes p{
  margin:0;
  font-family:var(--serif);
  font-size:23px;
  line-height:1.2;
}
.dee2-collection-products{padding-top:110px}
.dee2-col-islands{background:linear-gradient(135deg,#8fb3c4,#5d8ca3)!important}
.dee2-col-almar{background:linear-gradient(135deg,#c9a98a,#a9805c)!important}

/* ---------- Pie ---------- */
.site-footer,
.site-footer .col-full{
  background:#211c18!important;
  color:#fff!important;
}
.site-footer a,
.site-footer a:not(.button),
.site-footer .menu a{
  color:#fff!important;
  opacity:1!important;
}
.site-footer a:hover{color:var(--gold-soft)!important}
.site-footer .widget-title{color:var(--ivory);font-family:var(--sans);font-size:12px;letter-spacing:2px;text-transform:uppercase}
.dee2-footer-legal{border-top:1px solid rgba(255,255,255,.18);padding:24px 0 10px;text-align:center}
.dee2-footer-legal ul{list-style:none;margin:0;padding:0;display:flex;justify-content:center;gap:22px;flex-wrap:wrap}
.dee2-footer-legal li{margin:0}
.dee2-footer-legal a{font-size:11px;letter-spacing:1.4px;text-transform:uppercase;color:#fff!important;text-decoration:underline;text-underline-offset:4px;opacity:1!important}
.dee2-credit{border-top:1px solid rgba(255,255,255,.18);padding-top:20px;font-size:11px;letter-spacing:1px;color:#fff!important}
.dee2-cookie{position:fixed;left:18px;right:18px;bottom:18px;z-index:9999;max-width:860px;margin:auto;background:#fff;color:var(--charcoal);border:1px solid var(--line);box-shadow:0 18px 60px rgba(0,0,0,.18);padding:18px 20px;display:flex;gap:18px;align-items:center;justify-content:space-between}
.dee2-cookie[hidden]{display:none}
.dee2-cookie p{margin:0;font-size:14px;line-height:1.5}
.dee2-cookie a{color:var(--charcoal);text-decoration:underline}
.dee2-cookie button{background:var(--charcoal);color:#fff;border:1px solid var(--charcoal);padding:11px 18px;white-space:nowrap}

/* ---------- Responsive ---------- */
@media(max-width:960px){
  .dee2-hero-inner{grid-template-columns:1fr}
  .dee2-hero-visual{min-height:300px}
  .dee2-cat-grid,.dee2-values{grid-template-columns:repeat(2,1fr)}
  .dee2-col-grid,.dee2-split,.dee2-taller-grid{grid-template-columns:1fr}
  .dee2-split .txt{padding:44px 28px}
  .dee2-split .art{min-height:300px}
  .dee2-empty-shop{grid-template-columns:1fr}
  .dee2-empty-visual{min-height:220px}
  .dee2-empty-copy{padding:44px 28px;text-align:center}
  .dee2-empty-shop p{margin-left:auto;margin-right:auto}
  .woocommerce-account .woocommerce{grid-template-columns:1fr}
  .dee2-loyalty-grid{grid-template-columns:1fr}
  .dee2-points-card{grid-row:auto}
  .dee2-collection-hero{grid-template-columns:1fr}
  .dee2-collection-copy{
    max-width:none;
    margin:0;
    padding:64px 28px 42px;
    text-align:center;
    align-items:center;
  }
  .dee2-collection-actions{justify-content:center}
  .dee2-collection-visual{min-height:330px;order:-1}
  .dee2-collection-visual img{width:min(280px,62%)}
  .dee2-collection-notes{
    margin:28px auto 0;
    grid-template-columns:1fr;
  }
  .dee2-collection-products{padding-top:70px}
}
@media(max-width:560px){
  .dee2-news form{flex-direction:column}
  .dee2-cookie{display:block}
  .dee2-cookie div{margin-top:12px;display:flex;justify-content:space-between;align-items:center;gap:12px}
  .dee2-collection-copy h1{font-size:clamp(46px,15vw,64px)}
  .dee2-collection-notes article{min-height:auto}
}

/* ---------- Mi cuenta: experiencia visual DEE2 ---------- */
.woocommerce-account .entry-header{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 20% 32%,rgba(255,255,255,.82),transparent 26%),
    radial-gradient(circle at 78% 66%,rgba(47,111,132,.16),transparent 30%),
    linear-gradient(135deg,#F3ECE3 0%,#E7D3C8 52%,#D7ECE8 100%);
  padding:96px 24px 104px;
}
.woocommerce-account .entry-header:before{
  content:"DEE2";
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  font-family:var(--display);
  font-size:clamp(120px,18vw,260px);
  line-height:1;
  color:rgba(255,255,255,.42);
  letter-spacing:.04em;
  pointer-events:none;
}
.woocommerce-account .entry-title{
  position:relative;
  z-index:1;
  font-size:clamp(58px,8vw,104px);
}
.woocommerce-account .woocommerce{
  max-width:1220px;
  gap:34px;
  align-items:stretch;
}
.woocommerce-account:not(.logged-in) .woocommerce{
  display:block;
  max-width:1120px;
}
.woocommerce-account .woocommerce h2,
.woocommerce-account .woocommerce h3{
  font-family:var(--serif);
  color:var(--charcoal);
}
.woocommerce-account .woocommerce-form-login,
.woocommerce-account .woocommerce-form-register,
.woocommerce-account .u-columns .u-column1,
.woocommerce-account .u-columns .u-column2{
  background:#fff;
  border:1px solid var(--line);
  box-shadow:0 22px 60px rgba(43,38,34,.06);
  padding:36px;
}
.woocommerce-account .u-columns{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:28px;
}
.woocommerce-account .u-columns:before,
.woocommerce-account .u-columns:after{display:none}
.woocommerce-account .u-columns .u-column1,
.woocommerce-account .u-columns .u-column2{
  width:auto;
  float:none;
}
.woocommerce-account .woocommerce-form-login:before,
.woocommerce-account .u-column1:before,
.woocommerce-account .u-column2:before{
  content:"";
  display:block;
  width:74px;
  height:74px;
  margin-bottom:24px;
  border-radius:50%;
  background:
    radial-gradient(circle at 50% 42%,transparent 0 42%,rgba(43,38,34,.16) 43% 45%,transparent 46%),
    linear-gradient(135deg,#D7ECE8,#E7D3C8);
}
.woocommerce-account form label{
  font-size:11px;
  letter-spacing:1.8px;
  text-transform:uppercase;
  color:var(--taupe);
}
.woocommerce-account input.input-text,
.woocommerce-account input[type="email"],
.woocommerce-account input[type="password"],
.woocommerce-account input[type="text"]{
  border:1px solid var(--line);
  background:var(--ivory);
  padding:15px 16px;
  color:var(--charcoal);
}
.woocommerce-account input:focus{
  outline:1px solid #62A6A8;
  background:#fff;
}
.woocommerce-account .woocommerce-MyAccount-navigation{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 24% 10%,rgba(255,255,255,.12),transparent 28%),
    linear-gradient(160deg,#2B2622 0%,#3F3131 54%,#2F6F84 140%);
  border:0;
  padding:26px;
  color:#fff;
  box-shadow:0 22px 60px rgba(43,38,34,.12);
}
.woocommerce-account .woocommerce-MyAccount-navigation:before{
  content:"Mi espacio";
  display:block;
  font-family:var(--serif);
  font-size:34px;
  line-height:1;
  margin-bottom:22px;
  color:#fff;
}
.woocommerce-account .woocommerce-MyAccount-navigation li{
  border-bottom:1px solid rgba(255,255,255,.14);
}
.woocommerce-account .woocommerce-MyAccount-navigation a{
  color:rgba(255,255,255,.82);
  padding:15px 0;
}
.woocommerce-account .woocommerce-MyAccount-navigation a:hover,
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a{
  color:#D7ECE8;
}
.woocommerce-account .woocommerce-MyAccount-content{
  position:relative;
  background:#fff;
  border:1px solid var(--line);
  box-shadow:0 22px 60px rgba(43,38,34,.06);
  padding:42px;
}
.woocommerce-account .woocommerce-MyAccount-content > p:first-child{
  font-size:20px;
  line-height:1.7;
  color:#5c5248;
}
.woocommerce-account mark,
.woocommerce-account .woocommerce-MyAccount-content strong{
  background:#F3ECE3;
  color:var(--charcoal);
  padding:2px 6px;
}
.woocommerce-account .woocommerce-MyAccount-content .button{
  margin-top:8px;
}
.woocommerce-account table.shop_table,
.woocommerce-account .woocommerce-Addresses .woocommerce-Address{
  background:var(--ivory);
  border:1px solid var(--line);
}
.woocommerce-account table.shop_table th{
  font-size:11px;
  letter-spacing:1.6px;
  text-transform:uppercase;
  color:var(--taupe);
}
.dee2-loyalty-hero{
  display:grid;
  grid-template-columns:minmax(0,1fr) 220px;
  gap:28px;
  align-items:center;
  background:
    radial-gradient(circle at 16% 24%,rgba(255,255,255,.78),transparent 28%),
    linear-gradient(135deg,#D7ECE8 0%,#F3ECE3 54%,#E7D3C8 100%);
  padding:48px;
}
.dee2-loyalty-hero img{
  width:220px;
  max-width:100%;
  mix-blend-mode:multiply;
}
.dee2-loyalty-hero h2{font-size:clamp(48px,6vw,76px)}
.dee2-loyalty-grid{gap:22px}
.dee2-loyalty-grid article{
  background:#fff;
  box-shadow:0 16px 42px rgba(43,38,34,.05);
}
.dee2-points-card{
  background:
    radial-gradient(circle at 50% 26%,rgba(255,255,255,.72),transparent 34%),
    linear-gradient(135deg,#2F6F84 0%,#62A6A8 56%,#D7ECE8 100%)!important;
  color:#fff;
}
.dee2-points-card span,
.dee2-points-card strong,
.dee2-points-card p{color:#fff}
.dee2-points-card strong{font-size:96px}

@media(max-width:960px){
  .single-product div.product{grid-template-columns:1fr;gap:0}
  .single-product div.product .summary{
    position:relative;
    top:auto;
    min-height:auto;
    padding:34px 24px 46px!important;
  }
  .single-product div.product .woocommerce-product-gallery__wrapper{grid-template-columns:1fr}
  .single-product div.product .woocommerce-product-gallery__image{min-height:auto;aspect-ratio:1/1.15}
  .single-product div.product > span.onsale,
  .single-product.woocommerce span.onsale{
    top:18px!important;
    left:18px!important;
    min-width:78px!important;
    min-height:78px!important;
    font-size:15px!important;
  }
  .single-product .related.products ul.products,
  .single-product .upsells.products ul.products{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dee2-product-bottom-perks{grid-template-columns:1fr;gap:34px}
  .dee2-product-bottom-perks article{padding:0}
  .dee2-commerce-perks{grid-template-columns:1fr;margin-left:18px;margin-right:18px}
  .dee2-commerce-perks div{border-right:0;border-bottom:1px solid var(--line)}
  .dee2-commerce-perks div:last-child{border-bottom:0}
  .woocommerce-checkout form.checkout{grid-template-columns:1fr;column-gap:0;row-gap:0;padding:0 18px}
  .woocommerce-checkout #customer_details,
  .woocommerce-checkout #order_review_heading,
  .woocommerce-checkout #order_review{grid-column:auto;grid-row:auto}
  .woocommerce-checkout #order_review_heading{
    width:100%!important;
    max-width:none!important;
    margin:28px 0 -1px!important;
    padding:30px 28px 14px!important;
    box-shadow:none!important;
    white-space:normal;
    overflow-wrap:normal;
    word-break:normal;
  }
  .woocommerce-checkout #order_review{
    width:100%!important;
    max-width:none!important;
    margin-top:0!important;
    padding:12px 28px 28px!important;
    box-shadow:0 24px 70px rgba(43,38,34,.12);
  }
  .woocommerce-checkout #order_review_heading + #order_review{
    margin-top:0!important;
    padding-top:12px!important;
  }
  .woocommerce-cart .woocommerce,
  .woocommerce-checkout .woocommerce{padding:0}
  .woocommerce-cart form.woocommerce-cart-form,
  .woocommerce-checkout #customer_details{margin:0 18px;padding:24px}
  .woocommerce-cart .cart_totals{float:none;width:auto!important;margin:0 18px}
  .woocommerce-account .u-columns{grid-template-columns:1fr}
  .woocommerce-account .woocommerce-MyAccount-content{padding:30px}
  .dee2-loyalty-hero{grid-template-columns:1fr;text-align:center}
  .dee2-loyalty-hero img{margin:0 auto}
  .dee2-insta-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:560px){
  .single-product div.product .summary{padding:28px 18px 40px!important}
  .single-product div.product .product_title{font-size:40px}
  .single-product div.product p.price,
  .single-product div.product span.price{font-size:21px}
  .single-product div.product form.cart{display:block}
  .single-product div.product form.cart .quantity{margin:0 0 12px}
  .single-product .single_add_to_cart_button{width:100%}
  .dee2-product-trust li{font-size:15px}
  .dee2-product-accordions summary{font-size:24px}
  .single-product .related.products,
  .single-product .upsells.products{padding-top:46px}
  .single-product .related.products > h2,
  .single-product .upsells.products > h2{padding:0 18px;margin-bottom:24px}
  .single-product .related.products ul.products li.product .woocommerce-loop-product__title,
  .single-product .related.products ul.products li.product .price,
  .single-product .upsells.products ul.products li.product .woocommerce-loop-product__title,
  .single-product .upsells.products ul.products li.product .price{padding-left:14px;padding-right:14px}
  .dee2-product-reviews{padding:52px 18px}
  .dee2-product-bottom-perks{padding:46px 18px}
  .woocommerce-cart .entry-header,
  .woocommerce-checkout .entry-header{padding:48px 18px;margin-bottom:32px}
  .woocommerce-cart .entry-title,
  .woocommerce-checkout .entry-title{font-size:clamp(44px,14vw,62px)}
  .woocommerce-cart table.cart td.actions .coupon{display:block}
  .woocommerce-cart table.cart td.actions .coupon .input-text{width:100%;margin:0 0 12px!important}
  .woocommerce-cart table.cart td.actions .button{width:100%;margin-top:8px}
  .woocommerce-cart table.cart img{width:72px}
  .woocommerce-checkout h3,
  .woocommerce-checkout #order_review_heading{font-size:34px}
  .woocommerce-checkout #customer_details,
  .woocommerce-cart form.woocommerce-cart-form,
  .woocommerce-cart .cart_totals{padding:20px}
  .dee2-insta-grid{grid-template-columns:repeat(2,1fr)}
}

/* Ajustes finales de alineacion visual */
.woocommerce-cart .entry-header,
.woocommerce-checkout .entry-header,
.woocommerce-account .entry-header,
body.page:not(.home):not(.woocommerce-page) .entry-header{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:210px;
  padding:42px 24px!important;
}
.woocommerce-cart .entry-title,
.woocommerce-checkout .entry-title,
.woocommerce-account .entry-title,
body.page:not(.home):not(.woocommerce-page) .entry-title{
  margin:0!important;
  padding:0!important;
  line-height:1!important;
}
.woocommerce-cart .hentry,
.woocommerce-checkout .hentry,
.woocommerce-account .hentry,
body.page:not(.home) .hentry{
  margin:0;
}
.woocommerce-cart .entry-content,
.woocommerce-checkout .entry-content,
.woocommerce-account .entry-content{
  margin-top:0;
}
.woocommerce-cart .site-main > article,
.woocommerce-checkout .site-main > article,
.woocommerce-account .site-main > article{
  padding-top:0;
}
.single-product div.product form.cart:before,
.single-product div.product form.cart:after,
.woocommerce-checkout .col2-set:before,
.woocommerce-checkout .col2-set:after,
.woocommerce-cart .cart-collaterals:before,
.woocommerce-cart .cart-collaterals:after{
  display:none!important;
}
@media(max-width:560px){
  .woocommerce-cart .entry-header,
  .woocommerce-checkout .entry-header,
  .woocommerce-account .entry-header,
  body.page:not(.home):not(.woocommerce-page) .entry-header{
    min-height:150px;
    padding:34px 18px!important;
  }
}
