@font-face{font-family:AtelierSans;src:url('../assets/font-1.ttf') format('truetype');font-display:swap}
:root{--ink:#54283b;--muted:#866976;--rose:#eed0d6;--ivory:#fff9ee;--line:rgba(94,47,66,.16);font-family:AtelierSans,Arial,sans-serif;color:var(--ink);font-synthesis:none;background:#fbf7f1}
*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:disabled{cursor:wait;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #854a70;outline-offset:5px}a{color:inherit;text-decoration:none}button{border:0;background:none}button, a{touch-action:manipulation}button[hidden],[hidden]{display:none!important}.sr-only{position:absolute;clip-path:inset(50%);height:1px;width:1px;overflow:hidden}.skip{position:fixed;top:-100px;left:20px;z-index:20;background:white;padding:15px}.skip:focus{top:10px}.demo-strip{text-align:center;padding:7px 14px;background:#69354a;color:#fff3e7;font-size:10px;letter-spacing:.09em}.demo-strip span{margin:0 10px}.site-header{height:100px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;background:#f4dce0;border-bottom:1px solid var(--line)}.brand{font-family:Georgia,serif;font-size:37px;font-style:italic;line-height:.8}.brand span{font-family:AtelierSans,Arial,sans-serif;font-size:8px;font-style:normal;letter-spacing:.45em;display:block;margin-top:12px;padding-left:6px}.collections{display:flex;gap:32px}.collections button{font-size:14px;padding:12px 0;border-bottom:2px solid transparent}.collections button[aria-pressed=true]{border-color:var(--ink)}.selection-link{font-size:13px;display:flex;gap:10px;align-items:center}.selection-link span{display:grid;place-items:center;width:25px;height:25px;border:1px solid var(--line);border-radius:50%;font-size:11px}.dressing-room{display:grid;grid-template-columns:minmax(235px,1fr) minmax(410px,1.85fr) minmax(205px,.85fr);align-items:center;padding:15px 4.5% 24px;background:radial-gradient(ellipse at 54% 38%,#f8e8e8 0%,#efd2d8 53%,#e8c1cd 100%);position:relative;overflow:hidden;min-height:700px;gap:8px}.product-copy{align-self:center;max-width:320px;z-index:2;padding-top:15px}.overline{font-size:9px;letter-spacing:.19em;font-weight:600;margin:0 0 25px}.intro{font-family:Georgia,serif;font-size:28px;line-height:1.2;margin:0 0 30px;font-weight:400}.intro em{display:block}h1{font-family:Georgia,serif;font-size:clamp(49px,5vw,78px);font-weight:400;letter-spacing:-.05em;margin:0 0 17px;line-height:1}.description{font-size:14px;line-height:1.65;max-width:240px;margin-bottom:14px}.dress-detail{font-size:10px;line-height:1.8;max-width:220px;color:#795160}.colors{border:0;margin:23px 0 26px;padding:0}.colors legend{font-size:10px;margin-bottom:12px}.colors legend span{margin-left:8px;color:#805c6c}.colors>div{display:flex;gap:12px}.swatch{height:23px;width:23px;border-radius:50%;background:var(--swatch);box-shadow:inset 0 0 0 1px rgba(0,0,0,.12);position:relative}.swatch[aria-pressed=true]::after{content:'';position:absolute;inset:-4px;border:1px solid var(--ink);border-radius:50%}.primary,.secondary{display:flex;justify-content:space-between;align-items:center;gap:20px;border-radius:4px;padding:16px 20px;font-size:12px;min-height:48px}.primary{background:#663049;color:var(--ivory);transition:background .2s,transform .2s}.primary:hover{background:#7d405c;transform:translateY(-2px)}.product-copy .primary{min-width:220px}.secondary{border:1px solid var(--line);background:var(--ivory)}.text-button{text-decoration:underline;text-underline-offset:5px;font-size:11px;padding:12px 0}.stock-button{display:block;margin:3px 0 20px}.quiet{font-size:11px;line-height:1.8;color:#795160;margin-top:25px}.viewer-column{min-width:0;align-self:stretch;display:flex;flex-direction:column}.stage-shell{position:relative;flex:1;min-height:570px}.viewer{position:absolute;inset:0;cursor:grab}.viewer:active{cursor:grabbing}.viewer canvas{display:block;max-width:100%;touch-action:none}.viewer-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:20px;font-size:12px;background:#f1d7dd;z-index:3}.loading-flower{font-size:42px;animation:spin 7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.dress-arrow{position:absolute;top:45%;height:51px;width:43px;background:rgba(255,249,238,.79);border:1px solid rgba(255,255,255,.7);border-radius:50%;font-family:Georgia,serif;font-size:35px;line-height:1;box-shadow:0 8px 20px #6a34430c;transition:background .2s,transform .2s}.dress-arrow:hover{background:var(--ivory);transform:scale(1.06)}.previous{left:-3px}.next{right:-3px}.viewer-tools{position:absolute;bottom:9px;left:50%;transform:translateX(-50%);display:flex;gap:2px;border:1px solid rgba(255,255,255,.5);border-radius:30px;background:rgba(255,249,238,.82);padding:4px}.viewer-tools button{width:35px;height:34px;font-size:19px;border-radius:50%}.viewer-tools button:hover{background:#ead7d7}.viewer-tools span{height:20px;align-self:center;border-left:1px solid var(--line);margin:0 5px}.model-count{position:absolute;bottom:20px;right:9px;font-size:10px;color:#805d6a}.view-tabs{display:flex;gap:18px;justify-content:center;margin-top:10px}.view-tabs button{font-size:10px;padding:8px 0;border-bottom:1px solid transparent}.view-tabs button[aria-pressed=true]{border-color:var(--ink)}.viewer-hint{font-size:9px;text-align:center;color:#805f6d;min-height:15px;margin:11px 0 0}.look-summary{padding:28px 22px;align-self:center;background:rgba(255,245,239,.38);border:1px solid rgba(255,255,255,.49);border-radius:5px;max-width:245px;margin-left:20px}.small-star{font-size:26px}.look-summary h2{font-family:Georgia,serif;font-size:23px;font-weight:400;margin:12px 0}.look-summary>p{font-size:10px;line-height:1.6;color:#805f6d}.look-summary ul{list-style:none;padding:0;margin:20px 0 10px}.look-summary li{font-size:11px;padding:11px 0;border-bottom:1px solid var(--line);line-height:1.5}.look-summary li span{display:block;font-size:9px;color:#805f6d}.look-summary li button{font-size:9px;text-decoration:underline;padding:5px 0}.summary-foot{display:block;font-size:9px;font-style:italic;font-family:Georgia,serif;color:#805f6d;margin-top:30px}.recommendations{padding:45px 5% 48px;background:#fffaf2}.recommend-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:25px}.recommend-heading .overline{margin-bottom:10px}.recommend-heading h2{font-family:Georgia,serif;font-weight:400;font-size:31px;letter-spacing:-.03em;margin:0}.recommend-heading>p{font-size:11px;color:var(--muted)}.accessory-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.accessory-card{border:1px solid #e8dcd4;border-radius:5px;padding:0 18px 15px;background:#fffcf7;transition:border-color .2s,box-shadow .2s;position:relative}.accessory-card.is-selected{border-color:#986174;box-shadow:0 0 0 1px #986174}.accessory-image{height:135px;width:100%;object-fit:contain;display:block;padding:10px}.accessory-card h3{font-size:12px;font-weight:500;margin:7px 0}.accessory-card p{font-size:10px;color:var(--muted);margin:0 0 17px}.accessory-card button{display:flex;width:100%;justify-content:space-between;border-top:1px solid var(--line);padding:12px 0 0;font-size:11px;min-height:37px}.added{position:absolute;top:10px;left:12px;font-size:9px;background:#f0e1e2;padding:4px 8px;border-radius:20px}.fitting-note{padding:40px 5%;display:flex;align-items:center;gap:25px;border-top:1px solid var(--line);background:#f4e9e8}.fitting-note>span{font-size:40px}.fitting-note h2{font-family:Georgia,serif;font-size:27px;font-weight:400;margin:0 0 10px}.fitting-note p{font-size:11px;line-height:1.8;max-width:570px;margin:0;color:var(--muted)}.fitting-note .secondary{margin-left:auto;white-space:nowrap}footer{padding:28px 5%;display:flex;justify-content:space-between;align-items:center;font-size:9px;gap:20px;color:#795d69}dialog{border:1px solid #e3cdd2;border-radius:12px;padding:36px;max-width:530px;width:calc(100% - 30px);background:#fffaf3;color:var(--ink);max-height:90dvh;overflow:auto;box-shadow:0 30px 100px #2f122735}dialog::backdrop{background:#34233385;backdrop-filter:blur(5px)}dialog h2{font-family:Georgia,serif;font-size:32px;font-weight:400;margin:5px 0 15px}dialog .overline{margin:5px 0 17px}.dialog-close{position:absolute;top:10px;right:14px;font-size:29px;width:36px;height:36px}.dialog-intro{font-size:12px;color:var(--muted)}.consult-look{background:#f0dfe3;border-radius:5px;padding:15px;font-size:12px;line-height:1.7;margin:20px 0}.form-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-fields label{font-size:11px;line-height:1.5}.form-fields label>span{color:var(--muted);font-size:9px}.form-fields input,.form-fields select{display:block;border:1px solid #d8c4cb;background:#fffcf8;color:var(--ink);width:100%;padding:12px 10px;border-radius:4px;margin-top:7px;min-height:45px;font-size:12px}.confirmation-note,.demo-notice{font-size:10px;color:var(--muted);line-height:1.7}.confirmation-note{margin:20px 0}.demo-notice{margin-top:17px}dialog .primary{width:100%}pre{font:12px/1.8 AtelierSans,Arial,sans-serif;white-space:pre-wrap;background:#efe3e5;padding:20px;border-radius:8px}.preview-recipient{font-size:11px;color:var(--muted)}.viewer-error{position:absolute;inset:0;display:flex;align-items:center;justify-content:end;flex-direction:column;padding:20px;background:#f0d4db url('./assets/fallback-vestido.webp') center/cover}.viewer-error p{background:#fff8efed;padding:15px;font-size:12px;line-height:1.6;max-width:350px;border-radius:5px}
@media(min-width:1600px){.dressing-room{grid-template-columns:1fr 1.8fr 1fr;min-height:810px;padding-left:8%;padding-right:8%}.stage-shell{min-height:680px}.product-copy{max-width:350px}.look-summary{margin-left:45px}.description{font-size:16px}.intro{font-size:33px}}
@media(max-width:1100px){.dressing-room{grid-template-columns:235px minmax(340px,1fr);padding-left:4%;padding-right:4%;gap:0}.look-summary{grid-column:1/-1;max-width:none;width:100%;margin:20px 0 0;display:flex;align-items:center;gap:20px;padding:14px 20px}.look-summary .small-star,.look-summary>p,.summary-foot{display:none}.look-summary h2{font-size:19px;white-space:nowrap;margin:0}.look-summary ul{display:flex;gap:20px;flex-wrap:wrap;margin:0}.look-summary li{border:0;padding:0;font-size:10px}.look-summary li span{font-size:9px}.look-summary #reset-look{margin-left:auto;white-space:nowrap}.accessory-grid{gap:12px}.accessory-card{padding:0 12px 12px}.fitting-note{gap:15px}.fitting-note .secondary{font-size:11px;padding:12px}}
@media(max-width:650px){.demo-strip{font-size:8px;padding:7px}.site-header{height:82px;padding:0 5%;flex-wrap:wrap;gap:8px}.brand{font-size:29px}.brand span{font-size:6px;margin-top:9px}.collections{gap:14px;order:3;width:100%;justify-content:center;position:absolute;top:104px;left:0;z-index:3}.collections button{font-size:12px;padding:9px 0}.selection-link{font-size:10px}.dressing-room{display:flex;flex-direction:column;padding:60px 5% 22px;min-height:0}.product-copy{max-width:none;align-self:stretch;display:grid;grid-template-columns:1fr auto;gap:0 15px;padding-top:0}.product-copy .overline{margin-bottom:9px;grid-column:1/-1;font-size:8px}.intro{display:none}h1{font-size:44px;margin-bottom:8px}.description{font-size:12px;grid-column:1;max-width:220px;margin:0;line-height:1.6}.dress-detail{display:none}.colors{grid-column:2;grid-row:2/4;margin:0;align-self:center}.colors legend{font-size:8px;max-width:95px;line-height:1.5}.colors legend span{display:block;margin:0}.colors>div{gap:9px}.swatch{width:20px;height:20px}.product-copy .primary{grid-column:1;grid-row:4;font-size:10px;min-width:0;min-height:41px;padding:11px 13px;margin-top:16px}.stock-button{grid-column:2;grid-row:4;font-size:9px;margin:16px 0 0;max-width:105px;align-self:center;padding:8px 0;line-height:1.6}.quiet{display:none}.viewer-column{width:100%;margin-top:5px}.stage-shell{height:470px;min-height:0;flex:none;margin:0 -2%}.dress-arrow{height:47px;width:38px;font-size:31px}.viewer-tools{bottom:6px}.viewer-tools button{width:34px;height:34px}.model-count{font-size:9px;bottom:21px;right:0}.view-tabs{gap:24px;margin-top:5px}.view-tabs button{font-size:9px;padding:8px 0}.viewer-hint{font-size:8px;margin:10px 0 0}.look-summary{display:block;padding:15px;margin-top:18px}.look-summary h2{font-size:18px;margin:0 0 8px}.look-summary ul{gap:8px 20px}.look-summary li{font-size:10px}.look-summary #reset-look{padding:10px 0 0;font-size:9px}.recommendations{padding:30px 5%}.recommend-heading{display:block;margin-bottom:18px}.recommend-heading h2{font-size:27px}.recommend-heading>p{font-size:10px;margin-top:10px}.accessory-grid{grid-template-columns:1fr 1fr;gap:12px}.accessory-image{height:112px}.accessory-card h3{font-size:11px}.accessory-card p{font-size:9px;margin-bottom:12px}.accessory-card button{font-size:10px;min-height:39px}.fitting-note{display:block;padding:28px 6%}.fitting-note>span{display:none}.fitting-note h2{font-size:26px;max-width:240px}.fitting-note .secondary{margin:20px 0 0;display:inline-flex}footer{flex-wrap:wrap;font-size:8px;gap:12px}footer p{margin:0}footer>span{width:100%}dialog{padding:28px 22px}dialog h2{font-size:28px}.form-fields{gap:14px}.form-fields label{font-size:10px}.form-fields input,.form-fields select{font-size:11px;padding:10px 8px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.viewer-error{background:#f0d4db url('../assets/fiestas/02-vestido-con-cola.png') center/contain no-repeat}
.consult-look{white-space:pre-line}
h1.long-name{font-size:clamp(40px,4vw,62px)}
.recommend-help{text-align:right;font-size:11px;color:var(--muted)}.recommend-help a{display:inline-block;text-decoration:underline;text-underline-offset:4px;color:var(--ink);padding:8px 0}.recommend-help p{margin:0}.dressing-room{scroll-margin-top:12px}
@media(max-width:650px){.recommend-help{text-align:left;font-size:10px;margin-top:12px}.recommend-help a{min-height:40px;padding-top:12px}}
@media(max-width:650px){.product-copy h1{grid-column:1/-1;grid-row:2;margin-bottom:14px}.product-copy .description{grid-row:3}.product-copy .colors{grid-row:3}.product-copy h1.long-name{font-size:44px}}
@media(max-width:650px){.product-copy .primary{min-height:44px}.accessory-card button{min-height:44px}.colors>div{gap:6px}.swatch{width:36px;height:36px;border:7px solid transparent;background-clip:padding-box;box-shadow:none}.swatch[aria-pressed=true]::after{inset:2px}.view-tabs button{min-height:44px}.viewer-tools button{width:38px;height:38px}.dialog-close{width:44px;height:44px}.text-button{min-height:40px}.stock-button{min-height:44px}}
