@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@500;600;700&display=swap');:root{--pink:#da5889;--rose:#fae7ee;--dark:#33252d;--gray:#796d74;--line:#eee0e5}*{box-sizing:border-box}body{margin:0;background:#fffdfd;color:var(--dark);font-family:'DM Sans',Arial,sans-serif}button,input{font:inherit}button{cursor:pointer}a{text-decoration:none;color:inherit}.announcement{background:#743b59;color:white;padding:9px 12px;text-align:center;font-size:12px;letter-spacing:.08em}.header{position:sticky;top:0;z-index:10;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:17px max(5vw,18px);background:#fffefaed;border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;gap:10px;letter-spacing:.14em;font-size:17px;font-weight:500}.brand b,.footer-brand b{color:var(--pink)}.brand small{display:block;font-size:9px;letter-spacing:.22em;margin-top:4px;color:var(--gray)}.brandmark{display:grid;place-items:center;background:var(--pink);color:white;border-radius:50%;width:46px;height:46px;letter-spacing:0;font-family:Georgia,serif;font-size:17px}.header nav{display:flex;align-items:center;gap:12px}.login{border:1px solid #d9bdc9;padding:11px 17px;border-radius:50px;font-size:13px;font-weight:700}.cart-toggle,.primary,.checkout{border:0;background:var(--pink);color:#fff;font-weight:700;padding:13px 20px;border-radius:50px}.cart-toggle strong{background:#fff;color:var(--pink);border-radius:20px;padding:2px 7px;margin-left:6px}.hero{max-width:1420px;margin:24px auto 0;min-height:440px;border-radius:24px;background:linear-gradient(112deg,#fdf0f3,#f7d7e3);display:grid;grid-template-columns:1fr .8fr;overflow:hidden}.hero-content{padding:75px max(6vw,36px);position:relative;z-index:1}.eyebrow{font-size:11px;letter-spacing:.2em;font-weight:700;color:#98566c}.eyebrow.pink{color:var(--pink)}h1,h2{font-family:'Playfair Display',Georgia,serif}h1{font-size:clamp(43px,5.5vw,76px);line-height:1.1;letter-spacing:-.04em;max-width:620px;margin:20px 0}h1 em{color:var(--pink)}.hero p{color:#73606a;max-width:440px;line-height:1.75;margin-bottom:30px}.primary{display:inline-block}.hero-art{position:relative;display:grid;place-items:center;font-size:50px;color:var(--pink)}.art-circle{background:#ecadbf;width:330px;height:330px;border-radius:50%;display:grid;place-items:center;box-shadow:0 0 0 35px #ffffff33}.art-bottle{width:130px;height:230px;border-radius:25px 25px 17px 17px;border:9px solid #fff8;background:linear-gradient(120deg,#eb719c,#bf4a7c);box-shadow:12px 18px 26px #8c416133;color:#fff;display:flex;flex-direction:column;justify-content:center;align-items:center;font-size:15px;letter-spacing:.13em;text-align:center}.art-bottle b{font-size:22px}.sparkle{position:absolute;right:15%;bottom:18%}.catalog{max-width:1320px;margin:auto;padding:82px 22px}.catalog-heading{display:flex;align-items:end;justify-content:space-between;gap:24px}.catalog h2{font-size:clamp(30px,3vw,43px);margin:12px 0}.catalog p{color:var(--gray)}.searchbar{display:flex;gap:8px;align-items:center;border:1px solid var(--line);border-radius:30px;padding:5px 14px;background:white;min-width:285px}.searchbar span{font-size:29px;color:var(--pink)}.searchbar input{border:0;outline:0;padding:9px;min-width:0;width:100%}.filters{display:flex;flex-wrap:wrap;gap:10px;margin:32px 0}.filter{border:1px solid #ead9e0;background:#fff;border-radius:40px;padding:10px 18px;font-size:12px;font-weight:700;color:#77646e}.filter.active{background:var(--dark);border-color:var(--dark);color:white}.product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.product-card{border:1px solid #f2e6eb;border-radius:18px;overflow:hidden;background:#fff;display:flex;flex-direction:column}.product-photo{height:215px;background:linear-gradient(145deg,#fbeaf0,#f7e0e8);position:relative;display:grid;place-items:center;overflow:hidden}.product-photo img{width:100%;height:100%;object-fit:contain}.placeholder{font-family:Georgia,serif;font-size:66px;color:#db94ad;text-shadow:0 5px 10px #df95b443}.tag{position:absolute;top:12px;left:12px;border-radius:30px;padding:6px 9px;background:white;font-size:10px;color:#a05a77}.product-info{padding:20px;flex:1;display:flex;flex-direction:column}.product-info small{font-size:11px;letter-spacing:.12em;color:#ac6784;text-transform:uppercase}.product-info h3{font-size:16px;margin:10px 0 6px;line-height:1.4}.product-info p{font-size:12px;line-height:1.5;margin:0 0 14px}.product-bottom{display:flex;gap:8px;justify-content:space-between;align-items:center;margin-top:auto}.price{font-size:22px;font-weight:700}.add{background:var(--pink);color:#fff;border:0;border-radius:12px;padding:11px 14px;font-weight:700}.empty,.message{text-align:center;padding:45px;background:#fff3f7;border-radius:15px;color:#7c5269}.message{margin:20px 0}.overlay{position:fixed;inset:0;background:#24162083;z-index:19}.drawer{position:fixed;z-index:20;top:0;right:0;bottom:0;width:min(460px,100%);background:white;transform:translateX(102%);transition:transform .25s;display:flex;flex-direction:column;box-shadow:-10px 0 28px #2d192230}.drawer.open{transform:translateX(0)}.drawer-head{padding:23px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.drawer-head h2{margin:8px 0 0}.drawer-head h2 span{font:15px 'DM Sans',sans-serif;color:var(--gray)}.close{background:none;border:0;font-size:35px;color:#856c79}.cart-items{flex:1;overflow:auto;padding:22px}.cart-row{border-bottom:1px solid var(--line);padding:12px 0;display:flex;justify-content:space-between;gap:10px}.cart-row b{font-size:14px}.cart-row small{display:block;color:var(--gray);margin-top:8px}.controls{display:flex;align-items:center;gap:10px;margin-top:10px}.controls button{border:1px solid var(--line);background:#fff6f8;border-radius:7px;width:27px;height:27px}.drawer-footer{border-top:1px solid var(--line);padding:20px 24px}.total{display:flex;justify-content:space-between;font-size:17px;margin-bottom:12px}.total strong{font-size:25px;color:var(--pink)}.drawer-footer small,.hint{font-size:11px;line-height:1.5;color:var(--gray)}.drawer-footer label{display:block;margin-top:15px;font-size:12px;font-weight:700}.drawer-footer input{border:1px solid var(--line);padding:12px;width:100%;margin:8px 0 15px;border-radius:8px}.checkout{width:100%;background:#229e67;border-radius:10px;font-size:15px}.checkout:disabled{opacity:.6;cursor:not-allowed}.hint{margin:8px 0 0}footer{background:#fcf0f4;text-align:center;padding:55px 16px}.footer-brand{letter-spacing:.16em;font-size:22px}.copyright{font-size:12px;color:#8a7980}@media(max-width:950px){.product-grid{grid-template-columns:repeat(3,1fr)}.hero{margin:12px;min-height:350px}.hero-content{padding:55px 35px}.art-circle{width:220px;height:220px}}@media(max-width:680px){.header{padding:12px 16px}.brand{font-size:13px}.brandmark{width:36px;height:36px}.login{padding:9px 12px}.cart-toggle{padding:10px 12px}.cart-toggle span{display:none}.hero{grid-template-columns:1fr}.hero-content{padding:45px 25px}.hero-art{display:none}.catalog{padding:50px 15px}.catalog-heading{align-items:stretch;flex-direction:column}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.product-photo{height:150px}.product-info{padding:12px}.product-info h3{font-size:13px}.product-info p{display:none}.price{font-size:17px}.add{font-size:12px;padding:9px}.filters{gap:6px}.filter{padding:8px 12px;font-size:11px}}

/* Identidad Cosmetiqueria y banner promocional */
.brand-logo{width:64px;height:64px;object-fit:contain;border-radius:50%;flex-shrink:0}.brand{letter-spacing:.08em}.promo-hero{max-width:1420px;margin:20px auto 0;position:relative;overflow:hidden;border-radius:20px;background:#f8dce1}.promo-hero>img{display:block;width:100%;height:auto}.promo-buy{position:absolute;right:5%;bottom:4%;background:#a20d41;color:#fff;border:2px solid #ffe6bd;border-radius:999px;padding:14px 32px;font-size:18px;font-weight:700;box-shadow:0 6px 18px #64112d55;cursor:pointer}.promo-buy:hover{background:#7f0c35}.promo-buy:focus-visible{outline:3px solid #222;outline-offset:3px}.promo-status{position:absolute;bottom:2%;left:3%;max-width:55%;background:#fff;color:#7f0c35;border-radius:8px;padding:10px;font-size:13px}@media(max-width:680px){.brand-logo{width:44px;height:44px}.promo-hero{margin:10px;border-radius:12px}.promo-buy{right:3%;bottom:3%;font-size:12px;padding:9px 12px}.promo-status{position:static;max-width:none;margin:0;padding:12px}}
