/* Quantity controls and family options share FERPA's restrained surface treatment. */
.product-purchase .quantity,.cart-item .quantity{display:inline-flex;align-items:center;gap:0;padding:4px;background:linear-gradient(180deg,#f9fcfd,#eaf0f3);border:1px solid #cad9e1;border-radius:999px;box-shadow:inset 0 1px #fff,0 2px 6px #0c283408;min-width:114px;transition:border-color .2s,box-shadow .2s}
.quantity:hover,.quantity:focus-within{border-color:#96afbd;box-shadow:0 0 0 3px #163c5009,inset 0 1px #fff}
.quantity button{display:grid;place-items:center;border:0!important;border-radius:50%!important;min-width:32px!important;width:32px!important;min-height:32px!important;height:32px!important;background:transparent!important;color:#355668!important;font-size:19px;line-height:1;transition:background .2s,color .2s,transform .15s}
.quantity button:hover{background:#dce7ed!important;color:#102c40!important}.quantity button:active{transform:scale(.92)}
.quantity input{appearance:textfield;-moz-appearance:textfield;background:transparent!important;color:#15384c!important;border:0!important;box-shadow:none!important;min-height:32px!important;padding:4px 2px!important;width:48px!important;min-width:0;text-align:center;font-size:14px!important;font-weight:650;border-radius:5px}
.quantity input::-webkit-inner-spin-button,.quantity input::-webkit-outer-spin-button{appearance:none;margin:0}.quantity input:focus-visible{outline:2px solid #d87540;outline-offset:0}
.family-choices{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0 14px;min-width:0}
.family-choice,.family-more{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;min-height:34px;border:1px solid #d1dfe5;border-radius:999px;background:#ffffffbd;color:#365668;font:inherit;font-size:11px;line-height:1.35;text-align:left;cursor:pointer;max-width:100%;transition:border-color .22s,background .22s,box-shadow .22s}
.family-choice span:last-child{overflow-wrap:anywhere}.family-choice:hover,.family-more:hover{background:#f6ebe5;border-color:#d99b7c;box-shadow:0 3px 9px #aa4b1810}
.family-choice[aria-pressed=true]{background:#fff0e7;border-color:#d7723f;color:#91401b;box-shadow:0 0 0 2px #e7793510}
.family-choice:focus-visible,.family-more:focus-visible{outline:2px solid #bc6234;outline-offset:3px}
.family-dot{width:12px;height:12px;flex:none;border-radius:50%;background:var(--swatch);border:1px solid #0d28352b;box-shadow:inset 0 0 0 1px #ffffff4d}
.family-caption{color:#627b88;font-size:11px;line-height:1.5;margin:8px 0}.family-selection{padding:10px 13px;background:#edf4f7;border:1px solid #dbe6ec;border-radius:12px;font-size:13px;line-height:1.5;margin-bottom:12px}
.family-selection strong{color:#24485c}.family-variant-count{font-size:11px;color:#6b8290;font-weight:500;margin-left:6px}
.add-product:disabled{cursor:not-allowed;opacity:.55}
.product-media .variant-preview-layer,.detail-media .variant-preview-layer{position:absolute!important;inset:auto;max-width:none!important;max-height:none!important;margin:0!important;padding:0!important;object-fit:contain;pointer-events:none;transform:none!important;transition:none!important;z-index:1}
.product-media .product-view,.product-media .product-featured{z-index:2}
.add-product>span>svg{width:14px;height:14px}.product-dialog .detail-actions .add-product>span{color:#173c50;background:#fff;border-color:#fff}.product-dialog .detail-actions .add-product:hover>span{color:#fff;background:#ffffff18}
/* On desktop, one color circle becomes a capsule as its neighbours yield room. */
.family-colors{gap:4px;position:relative;margin:9px 0 12px;min-height:38px;align-items:center}
.family-color-choice{position:relative;display:flex;align-items:center;justify-content:center;flex:0 0 auto;width:36px;min-width:0;height:36px;min-height:36px;padding:6px;border:1px solid transparent;background:transparent;border-radius:999px;box-shadow:none;overflow:hidden;transition:width .42s cubic-bezier(.22,.8,.25,1),padding .42s cubic-bezier(.22,.8,.25,1),background .3s,border-color .3s,box-shadow .3s}
.family-color-choice .family-dot{width:22px;height:22px;flex:none;box-shadow:inset 0 0 0 2px #ffffff70,0 2px 5px #16384c16;transition:transform .36s cubic-bezier(.22,.8,.25,1),opacity .3s,box-shadow .3s}
.family-color-choice:hover,.family-color-choice[aria-pressed=true]{border-color:transparent;background:transparent;box-shadow:none}
.family-color-choice[aria-pressed=true] .family-dot{outline:2px solid #d47747;outline-offset:3px}
.family-color-choice .family-color-name{display:block;max-width:0;opacity:0;padding-left:0;white-space:nowrap;overflow:hidden;pointer-events:none;color:#294f63;font-size:10px;font-weight:600;line-height:1.4;transform:translateX(-4px);transition:max-width .42s cubic-bezier(.22,.8,.25,1),padding .42s cubic-bezier(.22,.8,.25,1),opacity .25s,transform .35s}
.family-color-choice:focus-visible{outline:2px solid #bd7045;outline-offset:2px}
@media(hover:hover) and (pointer:fine){
 .family-colors:has(.family-color-choice:is(:hover,:focus-visible)) .family-color-choice:not(:hover):not(:focus-visible){width:20px;padding:0}
 .family-colors:has(.family-color-choice:is(:hover,:focus-visible)) .family-color-choice:not(:hover):not(:focus-visible) .family-dot{transform:scale(.3);opacity:.55}
 .family-colors .family-color-choice:is(:hover,:focus-visible){width:106px;padding:6px 10px;border-color:#d5e2e9;background:linear-gradient(135deg,#ffffffde,#ffffff90),var(--color-tint,#edf4f8e8);backdrop-filter:blur(12px) saturate(115%);box-shadow:inset 0 1px #fff,inset 0 -1px var(--color-edge,#dbe5ea),0 4px 12px #17394d12}
 .family-colors .family-color-choice:is(:hover,:focus-visible) .family-dot{transform:scale(.94);opacity:1;box-shadow:inset 0 0 0 2px #ffffff70,0 2px 6px #16384c20}
 .family-colors .family-color-choice:is(:hover,:focus-visible) .family-color-name{max-width:74px;padding-left:7px;opacity:1;transform:translateX(0);transition:max-width .42s cubic-bezier(.22,.8,.25,1),padding .42s cubic-bezier(.22,.8,.25,1),opacity .25s .08s,transform .35s .04s}
}
@media(max-width:480px){.family-choice,.family-more{min-height:40px}.quantity button{min-width:36px!important;width:36px!important;min-height:36px!important;height:36px!important}.quantity input{font-size:16px!important}}
@media(pointer:coarse){.family-color-choice{min-width:44px;width:44px;min-height:44px;height:44px}}
@media(prefers-reduced-motion:reduce){.quantity,.quantity button,.family-choice,.family-more{transition:none!important}.quantity button:active{transform:none}}
@media(prefers-reduced-motion:reduce){.family-dot,.family-color-name{transition:none!important}}
html:not(.details-motion) .family-dot,html:not(.details-motion) .family-color-name{transition:none!important}

/* Put the customer's choice before the manufacturer's long references. */
.ferpa-atelier .product-dialog{width:min(1040px,calc(100% - 32px));scrollbar-width:none;border-color:#d7e3e9;box-shadow:0 24px 90px #071e3650}
.product-dialog::-webkit-scrollbar{display:none}
.product-dialog .detail-layout{grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);align-items:start;background:#f9fbfc}
.product-dialog .detail-media{position:sticky;top:0;min-height:0;height:min(650px,calc(100dvh - 32px));padding:40px;overflow:hidden;border-right:1px solid #e1e9ed;background:radial-gradient(ellipse at 50% 40%,#fff 40%,#edf3f6 100%)}
.product-dialog .detail-media img{max-height:540px;height:100%;mix-blend-mode:multiply}
.product-dialog .detail-copy{padding:38px 34px 30px;min-width:0}
.product-dialog .detail-heading{padding-right:20px}.detail-heading .eyebrow{font-size:10px;letter-spacing:.08em;margin:0 0 13px}.detail-badges{display:flex;gap:7px;flex-wrap:wrap;margin:0 0 12px}
.product-dialog .detail-heading h2{font-size:clamp(24px,2.4vw,32px);letter-spacing:-.035em;line-height:1.2;margin:0 0 22px;color:#123448}
.detail-intro{font-size:14px;line-height:1.65;color:#506c7b;white-space:pre-line;margin:0 0 20px}
.product-dialog .detail-variants{padding:17px 18px 3px;border:1px solid #dce6ec;border-radius:18px;background:linear-gradient(145deg,#fff,#eff5f7);box-shadow:inset 0 1px #fff;margin:0 0 20px}
.detail-option-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.detail-option-heading h3{font-size:14px;font-weight:650;margin:0;color:#183d51}.detail-option-heading>span{font-size:10px;color:#6a8391;white-space:nowrap}
.product-dialog .family-choices{margin:14px 0 12px;gap:8px}.product-dialog .family-choice{font-size:12px;min-height:40px;padding:9px 14px;background:#ffffffd9}.product-dialog .family-choice:hover{background:#fff4eb}.product-dialog .family-choice[aria-pressed=true]{background:#fff0e5;box-shadow:0 0 0 2px #e7793510,0 3px 10px #ad4c1612}
.product-dialog .family-selection{font-size:11px;background:transparent;border:0;border-top:1px solid #dce6ec;border-radius:0;padding:12px 0;margin:0;min-height:42px;color:#607986;display:flex;flex-wrap:wrap;gap:5px 9px;align-items:baseline}
.product-dialog .family-selection strong{font-size:12px}.product-dialog .family-selection>span{font-size:10px}
.detail-order{border-bottom:1px solid #dfE8ed;padding-bottom:15px}.detail-quantity-label{display:block;font-size:11px;font-weight:600;color:#5d7785;margin:0 0 8px}
.product-dialog .detail-actions{margin:0;display:block}.product-dialog .detail-actions .product-purchase{padding:0;margin:0;border:0;display:flex;gap:12px;align-items:center;width:100%}.product-dialog .detail-actions .quantity{flex:none}.product-dialog .detail-actions .add-product{flex:1;min-height:48px;font-size:13px;border-radius:999px;justify-content:center;gap:12px;background:#173c50;color:#fff;box-shadow:inset 0 1px #ffffff20,0 4px 12px #173c5014;transition:background .2s,box-shadow .2s,transform .2s}
.product-dialog .detail-actions .add-product:hover:not(:disabled){background:#225168;box-shadow:0 5px 16px #173c5025}.product-dialog .detail-actions .add-product:disabled{background:#e8eff3;color:#466879;box-shadow:none;opacity:.8}
.product-dialog .detail-actions .add-product .add-icon{border-color:#ffffff66}.product-dialog .detail-order .form-footnote{font-size:10px;margin:10px 0 0;color:#6a8391;text-align:left}
.product-dialog .detail-favorite{display:inline-flex;align-items:center;gap:8px;font-size:12px;padding:14px 0 0;text-decoration:none;border:0;color:#527183;background:none}.detail-favorite svg{width:17px;height:17px}.detail-favorite:hover:not(:disabled){color:#a75129}.detail-favorite:disabled{opacity:.45;cursor:not-allowed}
.product-dialog .detail-specs{margin:16px 0 0;padding:14px 0;border-top:0;border-bottom:1px solid #dfe8ed;gap:12px}.product-dialog .detail-specs dt{font-size:9px}.product-dialog .detail-specs dd{font-size:12px}
.product-dialog .detail-file{display:flex;align-items:center;margin:18px 0 0;gap:11px;padding:13px 15px;border-radius:14px;background:linear-gradient(135deg,#edf4f7,#fff);border:1px solid #d3e1e8;text-decoration:none;box-shadow:inset 0 1px #fff;transition:background .2s,border-color .2s,box-shadow .2s}.detail-file>svg{width:20px;height:20px;flex:none}.detail-file>span{flex:1;font-size:12px;font-weight:600}.detail-file small{display:block;font-size:10px;font-weight:400;margin-top:3px;color:#718a99}.detail-file .detail-file-action{width:17px;height:17px}.product-dialog .detail-file:hover{background:#e9f1f5;border-color:#b6ccd9;box-shadow:0 4px 12px #13394d08}
.detail-tech{margin:18px 0 0;border:1px solid #dce6ec;border-radius:14px;background:#ffffff7d;overflow:hidden}.detail-tech summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px;cursor:pointer;list-style:none;font-size:12px;font-weight:600;color:#355b70}.detail-tech summary::-webkit-details-marker{display:none}.detail-tech summary svg{width:17px;height:17px;flex:none;transition:transform .25s}.detail-tech[open] summary svg{transform:rotate(180deg)}.detail-tech summary:hover{background:#eef4f7}.detail-tech summary:focus-visible{outline:2px solid #d0774a;outline-offset:-3px}.detail-tech .detail-normas{margin:0 15px 12px}.detail-tech .detail-description{font-size:12px;line-height:1.8;margin:0;padding:0 15px 17px;white-space:pre-line;overflow-wrap:anywhere}
@media(max-width:760px){.ferpa-atelier .product-dialog{width:calc(100% - 16px)}.product-dialog .detail-layout{grid-template-columns:1fr}.product-dialog .detail-media{position:relative;height:240px;max-height:240px;padding:20px;border-right:0;border-bottom:1px solid #e1e9ed}.product-dialog .detail-media img{height:100%;max-height:200px;width:100%}.product-dialog .detail-copy{padding:24px 22px}.product-dialog .detail-heading{padding-right:0}.product-dialog .detail-heading h2{font-size:25px;margin-bottom:18px}.product-dialog .detail-variants{padding:15px 14px 2px;margin-bottom:17px}.product-dialog .detail-actions .product-purchase{gap:10px}.product-dialog .detail-actions .add-product{padding:10px 12px;min-width:0}.detail-option-heading>span{font-size:10px}}
@media(max-width:360px){.product-dialog .detail-copy{padding:20px 16px}.product-dialog .detail-media{height:190px;max-height:190px}.product-dialog .detail-heading h2{font-size:23px}.product-dialog .detail-actions .add-product{font-size:11px}.product-dialog .detail-actions .quantity{min-width:104px}.product-dialog .detail-actions .quantity button{min-width:30px!important;width:30px!important}.product-dialog .detail-actions .quantity input{width:36px!important}.product-dialog .family-choice{padding:8px 10px;font-size:11px}}
@media(prefers-reduced-motion:reduce){.detail-tech summary svg,.product-dialog .detail-actions .add-product,.product-dialog .detail-file{transition:none}}

/* Technical copy belongs below the product photo and remains visible. */
.detail-left{min-width:0;border-right:1px solid #e1e9ed;background:#fff}
.product-dialog .detail-left .detail-media{position:relative;top:auto;height:380px;min-height:0;border-right:0;border-bottom:1px solid #e1e9ed;padding:30px}
.product-dialog .detail-left .detail-media img{max-height:320px}
.detail-information{padding:25px 30px 30px}.detail-information h3{font-size:16px;letter-spacing:-.02em;color:#1c4359;margin:0 0 18px}.detail-information h4{font-size:12px;font-weight:600;color:#557587;margin:20px 0 12px}.detail-information .detail-description{font-size:12px;line-height:1.8;color:#496878;margin:16px 0 0;white-space:pre-line;overflow-wrap:anywhere}.detail-information .detail-main-description{font-size:13px;line-height:1.8}.detail-information .detail-normas{margin:18px 0 0}
.product-use-icons{display:flex;flex-wrap:wrap;gap:14px 12px;padding:0 0 18px;border-bottom:1px solid #e0e9ee}.product-use-icon{width:76px;text-align:center;display:flex;align-items:center;flex-direction:column;gap:8px}.product-use-icon>span{width:45px;height:45px;display:grid;place-items:center;border:1px solid #d5e2e9;border-radius:50%;color:#365c70;background:linear-gradient(140deg,#fff,#edf4f7);box-shadow:inset 0 1px #fff,0 2px 8px #15394e09}.product-use-icon svg{width:23px;height:23px}.product-use-icon small{font-size:9px;line-height:1.35;color:#537587;overflow-wrap:anywhere}
@media(min-width:761px){.product-dialog .detail-copy{position:sticky;top:0}}
@media(max-width:760px){.product-dialog .detail-left{display:contents}.product-dialog .detail-left .detail-media{height:240px;max-height:240px;padding:20px;grid-row:1}.product-dialog .detail-copy{grid-row:2}.product-dialog .detail-information{grid-row:3;padding:25px 22px 30px;border-top:1px solid #dfe8ed;background:#fff}.product-dialog .detail-left .detail-media img{max-height:200px}.product-use-icons{gap:14px 8px}.product-use-icon{width:70px}}
@media(max-width:360px){.product-dialog .detail-left .detail-media{height:190px;max-height:190px}.product-dialog .detail-information{padding:22px 16px}.product-use-icon{width:66px}}
