/* Dulce Tentación Repostería (demo Plan Catálogo): crema, cacao y frambuesa; Newsreader itálica + Plus Jakarta Sans. */
.kd-dulce{--dt-bg:#fff8f1;--dt-alt:#fbeee2;--dt-ink:#2e1a12;--dt-muted:#6a4f44;--dt-cocoa:#3b2219;--dt-berry:#ad3159;--dt-berry-2:#922449;--dt-gold:#e6b25a;--dt-line:#efdccd;background:var(--dt-bg);color:var(--dt-ink);font:400 16px/1.55 'Plus Jakarta Sans',system-ui,sans-serif}
.dt-wrap{width:min(1200px,100% - 40px);margin-inline:auto}
.kd-dulce h1,.kd-dulce h2{font-family:'Newsreader',Georgia,serif;font-style:italic;font-weight:500;letter-spacing:-.015em;line-height:1.05}
.kd-dulce h2{font-size:clamp(30px,4.4vw,44px)}
.dt-eyebrow{font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--dt-berry);margin-bottom:10px}
.dt-small{font-size:14px;color:var(--dt-muted)}
.dt-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:0 26px;border:0;border-radius:999px;background:var(--dt-berry);color:#fff;font-weight:700;font-size:16px;text-decoration:none;cursor:pointer}
.dt-btn:hover{background:var(--dt-berry-2)}
.dt-btn:disabled{background:#cdb9ae;color:#4a352c;cursor:not-allowed}
.dt-btn-small{min-height:44px;padding:0 18px;font-size:15px}

.dt-header{background:var(--dt-cocoa);color:#fbeee2}
.dt-header-in{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:72px}
.dt-logo{display:flex;align-items:center;min-height:44px;gap:10px;text-decoration:none;color:#fff}
.dt-logo svg{width:36px;height:36px;fill:none;stroke:var(--dt-gold);stroke-width:1.6;stroke-linejoin:round}
.dt-logo span{font:italic 500 26px/1 'Newsreader',Georgia,serif}
.dt-logo small{display:block;margin-top:4px;font:600 11px/1.2 'Plus Jakarta Sans',sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#e9d3c3}
.dt-cart-link{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;border-radius:999px;background:#fff;color:var(--dt-cocoa);font-weight:700;text-decoration:none;white-space:nowrap}
.dt-count{display:grid;place-items:center;min-width:26px;height:26px;padding:0 6px;border-radius:999px;background:var(--dt-berry);color:#fff;font-size:14px}

.dt-hero{background:var(--dt-alt)}
.dt-hero-in{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;padding-block:clamp(40px,6vw,80px)}
.dt-hero h1{font-size:clamp(40px,6.5vw,72px);margin-bottom:18px}
.dt-lead{font-size:clamp(17px,2vw,19px);color:var(--dt-muted);margin-bottom:26px;max-width:34rem}
.dt-hero-media img{width:100%;aspect-ratio:5/4;object-fit:cover;border-radius:200px 200px 24px 24px}

.dt-steps{background:var(--dt-cocoa);color:#f6e6da}
.dt-steps-list{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding-block:20px;counter-reset:s}
.dt-steps-list li{display:flex;align-items:center;gap:12px;counter-increment:s}
.dt-steps-list li::before{content:counter(s);display:grid;place-items:center;flex:0 0 34px;height:34px;border-radius:50%;background:var(--dt-gold);color:var(--dt-cocoa);font-weight:800}
.dt-steps-list strong{color:#fff}

.dt-section{padding-block:clamp(48px,7vw,88px)}
.dt-shop{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:32px;align-items:start}
.dt-catalog-head{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:16px;margin-bottom:24px}
.dt-chips{display:flex;flex-wrap:wrap;gap:8px}
.dt-chip{min-height:44px;padding:0 18px;border:2px solid var(--dt-line);border-radius:999px;background:#fff;font-weight:700;cursor:pointer}
.dt-chip:hover{border-color:var(--dt-berry)}
.dt-chip[aria-pressed="true"]{background:var(--dt-cocoa);border-color:var(--dt-cocoa);color:#fff}
.dt-products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-bottom:16px}
.dt-product{display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--dt-line);border-radius:20px;background:#fff}
.dt-product-img{aspect-ratio:4/3;overflow:hidden;background:var(--dt-alt)}
.dt-product-img img{width:100%;height:100%;object-fit:cover}
.dt-product-body{display:flex;flex-direction:column;flex:1;padding:16px}
.dt-product-cat{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--dt-berry)}
.dt-product h3{font-size:18px;line-height:1.25;margin:2px 0 6px}
.dt-product-desc{font-size:14px;color:var(--dt-muted);flex:1}
.dt-product-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:14px;flex-wrap:wrap}
.dt-price{font-weight:800;font-size:17px}
.dt-add{min-height:44px;padding:0 16px;border:2px solid var(--dt-berry);border-radius:999px;background:var(--dt-berry);color:#fff;font-weight:700;cursor:pointer}
.dt-add:hover{background:var(--dt-berry-2);border-color:var(--dt-berry-2)}
.dt-add.is-added{background:#fff;color:var(--dt-berry)}

.dt-order{position:sticky;top:72px;padding:24px;border-radius:24px;background:#fff;border:2px solid var(--dt-cocoa);scroll-margin-top:72px}
.dt-order h2{font-size:32px;margin-bottom:12px}
.dt-empty{color:var(--dt-muted);font-size:15px;padding:12px 0}
.dt-lines{display:grid;gap:4px}
.dt-line{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:'name name' 'qty price';gap:6px 12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--dt-line)}
.dt-line-name{grid-area:name;font-weight:700;font-size:15px}
.dt-line-price{grid-area:price;font-weight:700}
.dt-qty{grid-area:qty;display:inline-flex;align-items:center;gap:4px}
.dt-qty button{width:44px;height:44px;border:1px solid var(--dt-line);border-radius:12px;background:var(--dt-bg);font-size:20px;font-weight:700;cursor:pointer}
.dt-qty-n{min-width:28px;text-align:center;font-weight:700}
.dt-total{display:flex;justify-content:space-between;align-items:baseline;padding:14px 0;font-size:18px}
.dt-total strong{font-size:22px}
.dt-form{display:grid;gap:14px;margin-top:8px}
.dt-form label{display:grid;gap:6px;font-weight:700;font-size:15px}
.dt-form input:not([type=radio]){min-height:48px;padding:0 14px;border:1px solid #b89c8e;border-radius:12px;background:#fff;font-size:16px;font-weight:400}
.dt-form fieldset{margin:0;padding:0;border:0;display:grid;gap:4px}
.dt-form legend{font-weight:700;font-size:15px;margin-bottom:4px;padding:0}
.dt-form .dt-radio{display:flex;align-items:center;gap:10px;min-height:44px;font-weight:500}
.dt-radio input{width:20px;height:20px;accent-color:var(--dt-berry)}
.dt-send{width:100%}

.dt-cartbar{position:fixed;left:0;right:0;bottom:0;z-index:40;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;background:var(--dt-berry);color:#fff;box-shadow:0 -4px 14px rgb(0 0 0 / .15)}
.dt-cartbar .dt-btn{background:#fff;color:var(--dt-berry)}

.dt-about-in{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.dt-about-media img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:24px}
.dt-about h2{margin-bottom:14px}
.dt-about p{color:var(--dt-muted)}
.dt-info{margin-top:20px;display:grid;gap:12px}
.dt-info dt{font-weight:800}
.dt-info small{font-size:13px}
.dt-footer{padding-block:36px;background:var(--dt-cocoa);color:#f1dfd2;font-size:15px}
.dt-footer-brand{font:italic 500 24px/1.2 'Newsreader',Georgia,serif;color:#fff;margin-bottom:4px}
.dt-footer .dt-small{color:#dcc4b5}

@media (min-width:1000px){.dt-cartbar{display:none!important}}
@media (max-width:1199px){.dt-products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:999px){
 .dt-shop{grid-template-columns:1fr}
 .dt-order{position:static}
 .dt-products{grid-template-columns:repeat(3,minmax(0,1fr))}
 body.dt-has-cart{padding-bottom:68px}
}
@media (max-width:767px){
 /* La barra de demostración va abajo en móvil: la del pedido se apoya encima. */
 .dt-cartbar{bottom:var(--kd-bar-h,72px)}
 body.dt-has-cart{padding-bottom:calc(var(--kd-bar-h,72px) + 68px)}
 .dt-hero-in,.dt-about-in{grid-template-columns:1fr;gap:28px}
 .dt-hero-media{order:-1}
 .dt-hero-media img{aspect-ratio:16/10;border-radius:24px}
 .dt-steps-list{grid-template-columns:1fr;gap:10px}
 .dt-products{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .dt-product-body{padding:12px}
 .dt-product h3{font-size:16px}
 .dt-product-desc{font-size:13px}
 .dt-add{width:100%}
}
@media (max-width:479px){
 .dt-wrap{width:calc(100% - 24px)}
 .dt-logo small{display:none}
 .dt-logo span{font-size:22px}
 .dt-cart-link{padding:0 12px}
 .dt-order{padding:18px}
 .dt-chip{padding:0 14px}
}
