/* COSMOD Single Product — luxury card — CHECK v2 (эта строка должна быть видна в самом начале файла на сервере) */.cosmod-sp{  --gap:48px;--accent:#111;--muted:#555;--line:#e8e6e1;--surface:#f9f8f6;  display:grid;grid-template-columns:1.1fr .9fr;gap:var(--gap);align-items:start;  background:#fff;border:.5px solid var(--line);border-radius:20px;  padding:28px 32px 32px;padding-left:calc(32px + var(--offset-x,0px));  box-shadow:0 8px 32px rgba(17,17,17,.04);color:#111;  font-family:Georgia,"Times New Roman",serif;box-sizing:border-box;}.cosmod-sp *{box-sizing:border-box}.cosmod-gallery{position:relative}.cosmod-gallery .cosmod-main-img{  position:relative;display:flex;align-items:center;justify-content:center;  width:var(--main-w,auto);height:var(--main-h,auto);max-width:100%;aspect-ratio:1/1;  margin:0 auto;background:var(--surface);border:.5px solid var(--line);  border-radius:20px;overflow:hidden;cursor:zoom-in;}.cosmod-gallery .cosmod-main-img img{  display:block;width:100%;height:100%;padding:20px;object-fit:contain;background:#fff;}.cosmod-gallery .cosmod-nav{  position:absolute;inset:0;display:flex;align-items:center;justify-content:space-between;pointer-events:none;}.cosmod-gallery .cosmod-nav button{  pointer-events:auto;width:40px;height:40px;margin:0 8px;border:.5px solid #d1cec7;  border-radius:50%;background:#fff;color:#111;font-size:16px;font-weight:700;  display:grid;place-items:center;cursor:pointer;transition:background .2s;}.cosmod-gallery .cosmod-nav button:hover{background:#f0ede8}.cosmod-thumbs{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:12px}.cosmod-thumbs .thumb{  padding:0;border:.5px solid var(--line);border-radius:10px;background:var(--surface);cursor:pointer;}.cosmod-thumbs .thumb.active{outline:none;box-shadow:none;border-color:#e8e6e1}.cosmod-thumbs .thumb:focus{outline:none}.cosmod-thumbs .thumb:focus-visible{outline:2px solid #748b9c;outline-offset:2px}.cosmod-thumbs img{display:block;width:64px;height:64px;object-fit:contain;background:#fff;border-radius:8px}.cosmod-info{display:flex;flex-wrap:wrap;align-items:center}.cosmod-info>*{width:100%}.cosmod-info .title-row{display:flex;align-items:flex-start;gap:8px;margin-bottom:6px}.cosmod-info .title{  flex:1;margin:0;font-family:Georgia,"Times New Roman",serif;  font-size:clamp(20px,2.2vw,32px);font-weight:400;line-height:1.2;letter-spacing:-.01em;color:#111;

}.cosmod-meta{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 10px}.cosmod-meta .badge{  display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:4px;  background:#f3f2ef;color:#555;font-family:Arial,Helvetica,sans-serif;  font-size:11px;letter-spacing:.06em;text-transform:uppercase;line-height:1;}.cosmod-meta .badge--brand a{color:inherit;text-decoration:underline}.cosmod-meta .badge--ok{background:transparent;color:#2d7a4f;border:.5px solid #b6dbc7}.cosmod-meta .badge--out{background:transparent;color:#8b1a1a;border:.5px solid #e8b4b4}.cosmod-info .price{  font-family:Georgia,"Times New Roman",serif;font-size:clamp(22px,2vw,30px);  font-weight:400;letter-spacing:-.01em;color:#111;margin:10px 0 8px;}.cosmod-info .price del{font-size:.72em;color:#aaa;text-decoration:line-through;margin-right:10px}.cosmod-info .price ins{text-decoration:none}.cosmod-brief{margin:8px 0 12px;color:#374151;font-family:Arial,Helvetica,sans-serif;font-size:14px;line-height:1.5}.cosmod-ing{margin:12px 0 14px;border:.5px solid var(--line);border-radius:10px;background:#fafaf8}.cosmod-ing__summary{  padding:10px 14px;font-family:Arial,Helvetica,sans-serif;font-size:12px;font-weight:400;  letter-spacing:.08em;text-transform:uppercase;color:#777;cursor:pointer;list-style:none;}.cosmod-ing__summary::-webkit-details-marker{display:none}.cosmod-ing__body{padding:0 14px 12px;color:#374151;font-family:Arial,Helvetica,sans-serif;font-size:13px;line-height:1.55}.cosmod-qty,.cosmod-info .add-to-cart{width:auto}.cosmod-qty{display:flex;align-items:center;gap:8px;margin:0 12px 0 0}.cosmod-qty input.qty,.cosmod-qty button{  height:46px;border:.5px solid #d1cec7;border-radius:6px;background:#fff;color:#111;font-size:15px;}.cosmod-qty button{width:40px;cursor:pointer;transition:border-color .2s,background .2s}.cosmod-qty button:hover{border-color:#999;background:var(--surface)}.cosmod-qty .plus[disabled]{opacity:.45;cursor:not-allowed}.cosmod-qty input.qty{width:70px;text-align:center;-moz-appearance:textfield}.cosmod-qty input.qty::-webkit-outer-spin-button,.cosmod-qty input.qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.cosmod-info .add-to-cart,.woocommerce .cosmod-sp .cosmod-info button.button.add-to-cart,body .cosmod-sp .cosmod-info button.button.add-to-cart{  display:inline-flex!important;align-items:center!important;justify-content:center!important;  margin:0!important;height:46px!important;padding:0 28px!important;  background:#111!important;color:#fff!important;border:none!important;border-radius:8px!important;  font-family:Arial,Helvetica,sans-serif!important;font-size:12px!important;font-weight:400!important;  letter-spacing:.12em!important;text-transform:uppercase!important;cursor:pointer!important;  box-shadow:none!important;transition:opacity .2s!important;}.cosmod-info .add-to-cart:hover,body .cosmod-sp .cosmod-info button.button.add-to-cart:hover{opacity:.82!important;filter:none!important}.cosmod-info .add-to-cart:disabled{opacity:.4!important;cursor:not-allowed!important}.cosmod-like{  --size:40px;width:var(--size);height:var(--size);flex-shrink:0;  border:.5px solid #d1cec7;border-radius:999px;background:#fff;  display:grid;place-items:center;cursor:pointer;transition:border-color .2s;}.cosmod-like:hover{border-color:#999}.cosmod-like.in,.cosmod-like.active{border-color:#8b1a1a;background:#fdf5f5}.cosmod-like .heart{width:18px;height:18px;display:inline-block;position:relative}.cosmod-like .heart::before,.cosmod-like .heart::after{  content:"";position:absolute;width:10px;height:16px;background:#8b1a1a;border-radius:10px 10px 0 0;}.cosmod-like .heart::before{left:4px;top:2px;transform:rotate(-45deg)}.cosmod-like .heart::after{right:4px;top:2px;transform:rotate(45deg)}.cosmod-bullets{  list-style:none;margin:20px 0 0;padding:16px 0 0;border-top:.5px solid var(--line);}.cosmod-bullets li{  display:flex;align-items:flex-start;gap:10px;padding:8px 0;border-bottom:.5px solid #f0ede8;  font-family:Arial,Helvetica,sans-serif;font-size:13px;line-height:1.4;color:var(--muted);text-align:left;}.cosmod-bullets li:last-child{border-bottom:none}.cosmod-bullets li::before{  content:"";flex-shrink:0;width:18px;height:18px;margin-top:1px;border-radius:50%;border:.5px solid #c8c4bc;  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='M2 5 L4.2 7.5 L8 3' stroke='%23555' stroke-width='1.4' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/12px no-repeat;}.cosmod-sp .cosmod-tabs{grid-column:1/-1}.cosmod-tabs{  margin:28px auto 24px;  border-top:.5px solid var(--line,#e8e6e1);  padding:16px 0 0;  width:min(1100px,calc(100% - 32px));  box-sizing:border-box;}.cosmod-sp > .cosmod-tabs{  margin-top:28px;  width:100%;  padding-top:16px;}.cosmod-tabs-nav{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:0}.cosmod-tabs-nav .tab{  padding:10px 18px;border:.5px solid var(--line);border-bottom:none;border-radius:8px 8px 0 0;  background:var(--surface);font-family:Arial,Helvetica,sans-serif;font-size:12px;font-weight:400;  letter-spacing:.08em;text-transform:uppercase;color:#777;cursor:pointer;}.cosmod-tabs-nav .tab.active{background:#fff;color:#111}.cosmod-tabs-panels{  border:.5px solid var(--line);border-radius:0 8px 8px 8px;background:#fff;padding:16px 18px;  font-family:Arial,Helvetica,sans-serif;font-size:14px;line-height:1.6;color:#333;}.cosmod-tabs-panels .panel{display:none}.cosmod-tabs-panels .panel.show{display:block}.cosmod-info-table{width:100%;border-collapse:collapse}.cosmod-info-table th,.cosmod-info-table td{padding:8px 10px;border-bottom:.5px solid var(--line);text-align:left;font-weight:400}.cosmod-info-table th{width:34%;color:#777;text-transform:uppercase;font-size:11px;letter-spacing:.06em}@media (min-width:981px){  .cosmod-sp.gallery-right{grid-template-columns:.9fr 1.1fr}  .cosmod-sp.gallery-right .cosmod-gallery{grid-column:2}  .cosmod-sp.gallery-right .cosmod-info{grid-column:1}  .cosmod-sp.gallery-left .cosmod-gallery{grid-column:1}  .cosmod-sp.gallery-left .cosmod-info{grid-column:2}}.cosmod-zoom{  position:fixed;inset:0;display:none;align-items:center;justify-content:center;  background:rgba(0,0,0,.78);z-index:9999;}.cosmod-zoom.show{display:flex}.cosmod-zoom img{  /*   * Fixed box (not max-width/max-height + auto) so every product's zoom   * image renders at the same on-screen size regardless of its own   * dimensions or embedded background — object-fit:contain then letterboxes   * the actual photo inside it, and the uniform #fff fills the rest.   *   * !important on width/height/max-width/max-height: many themes ship a   * global "img{max-width:100%;height:auto}" rule, sometimes with its own   * !important — without matching that here, this box goes back to sizing   * itself from each photo's own aspect ratio (tall product shot = narrow   * box, wide swatch shot = full-width box), which is the exact "different   * sizes" bug this rule exists to prevent.   */  width:min(82vw,760px) !important;height:min(82vh,760px) !important;  max-width:min(82vw,760px) !important;max-height:min(82vh,760px) !important;  box-sizing:border-box;padding:24px;  object-fit:contain;background:#fff;border-radius:12px;box-shadow:0 10px 40px rgba(0,0,0,.5);cursor:zoom-out;}.cosmod-zoom .zprev,.cosmod-zoom .znext,.cosmod-zoom .close{  position:fixed;width:46px;height:46px;border:1px solid #e5e7eb;border-radius:999px;background:#fff;  box-shadow:0 2px 12px rgba(0,0,0,.15);font-size:20px;font-weight:700;display:grid;place-items:center;  cursor:pointer;z-index:10000;}/* * Sit ON the fixed-size photo box, overlapping its inner edge (like the * arrows on the main product gallery), not outside it and not pinned to * the browser edge — the box is centered and always min(82vw,760px) wide, * so the offset from center is half that minus a small inset; max() keeps * at least 16px from the screen edge on narrow/mobile viewports. */.cosmod-zoom .zprev{left:max(16px,calc(50% - (min(82vw,760px) / 2) + 16px));top:50%;transform:translateY(-50%)}.cosmod-zoom .znext{right:max(16px,calc(50% - (min(82vw,760px) / 2) + 16px));top:50%;transform:translateY(-50%)}/* * Same idea for the close button: sit on the box's top-right corner, not * the browser corner. This replaces the old top:16px/right:16px (which * pinned it to the viewport) — kept as one rule so a later, unrelated * /* COSMOD Single Product — luxury card — CHECK v2 (эта строка должна быть видна в самом начале файла на сервере) */
.cosmod-sp{
  --gap:48px;--accent:#111;--muted:#555;--line:#e8e6e1;--surface:#f9f8f6;
  display:grid;grid-template-columns:1.1fr .9fr;gap:var(--gap);align-items:start;
  background:#fff;border:.5px solid var(--line);border-radius:20px;
  padding:28px 32px 32px;padding-left:calc(32px + var(--offset-x,0px));
  box-shadow:0 8px 32px rgba(17,17,17,.04);color:#111;
  font-family:Georgia,"Times New Roman",serif;box-sizing:border-box;
}
.cosmod-sp *{box-sizing:border-box}

.cosmod-gallery{position:relative}
.cosmod-gallery .cosmod-main-img{
  position:relative;display:flex;align-items:center;justify-content:center;
  width:var(--main-w,auto);height:var(--main-h,auto);max-width:100%;aspect-ratio:1/1;
  margin:0 auto;background:var(--surface);border:.5px solid var(--line);
  border-radius:20px;overflow:hidden;cursor:zoom-in;
}
.cosmod-gallery .cosmod-main-img img{
  display:block;width:100%;height:100%;padding:20px;object-fit:contain;background:#fff;
}
.cosmod-gallery .cosmod-nav{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:space-between;pointer-events:none;
}
.cosmod-gallery .cosmod-nav button{
  pointer-events:auto;width:40px;height:40px;margin:0 8px;border:.5px solid #d1cec7;
  border-radius:50%;background:#fff;color:#111;font-size:16px;font-weight:700;
  display:grid;place-items:center;cursor:pointer;transition:background .2s;
}
.cosmod-gallery .cosmod-nav button:hover{background:#f0ede8}

.cosmod-thumbs{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:12px}
.cosmod-thumbs .thumb{
  padding:0;border:.5px solid var(--line);border-radius:10px;background:var(--surface);cursor:pointer;
}
.cosmod-thumbs .thumb.active{outline:none;box-shadow:none;border-color:#e8e6e1}
.cosmod-thumbs .thumb:focus{outline:none}
.cosmod-thumbs .thumb:focus-visible{outline:2px solid #748b9c;outline-offset:2px}
.cosmod-thumbs img{display:block;width:64px;height:64px;object-fit:contain;background:#fff;border-radius:8px}

.cosmod-info{display:flex;flex-wrap:wrap;align-items:center}
.cosmod-info>*{width:100%}
.cosmod-info .title-row{display:flex;align-items:flex-start;gap:8px;margin-bottom:6px}
.cosmod-info .title{
  flex:1;margin:0;font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(20px,2.2vw,32px);font-weight:400;line-height:1.2;letter-spacing:-.01em;color:#111;
}

.cosmod-meta{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 10px}
.cosmod-meta .badge{
  display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:4px;
  background:#f3f2ef;color:#555;font-family:Arial,Helvetica,sans-serif;
  font-size:11px;letter-spacing:.06em;text-transform:uppercase;line-height:1;
}
.cosmod-meta .badge--brand a{color:inherit;text-decoration:underline}
.cosmod-meta .badge--ok{background:transparent;color:#2d7a4f;border:.5px solid #b6dbc7}
.cosmod-meta .badge--out{background:transparent;color:#8b1a1a;border:.5px solid #e8b4b4}

.cosmod-info .price{
  font-family:Georgia,"Times New Roman",serif;font-size:clamp(22px,2vw,30px);
  font-weight:400;letter-spacing:-.01em;color:#111;margin:10px 0 8px;
}
.cosmod-info .price del{font-size:.72em;color:#aaa;text-decoration:line-through;margin-right:10px}
.cosmod-info .price ins{text-decoration:none}
.cosmod-brief{margin:8px 0 12px;color:#374151;font-family:Arial,Helvetica,sans-serif;font-size:14px;line-height:1.5}

.cosmod-ing{margin:12px 0 14px;border:.5px solid var(--line);border-radius:10px;background:#fafaf8}
.cosmod-ing__summary{
  padding:10px 14px;font-family:Arial,Helvetica,sans-serif;font-size:12px;font-weight:400;
  letter-spacing:.08em;text-transform:uppercase;color:#777;cursor:pointer;list-style:none;
}
.cosmod-ing__summary::-webkit-details-marker{display:none}
.cosmod-ing__body{padding:0 14px 12px;color:#374151;font-family:Arial,Helvetica,sans-serif;font-size:13px;line-height:1.55}

.cosmod-qty,.cosmod-info .add-to-cart{width:auto}
.cosmod-qty{display:flex;align-items:center;gap:8px;margin:0 12px 0 0}
.cosmod-qty input.qty,.cosmod-qty button{
  height:46px;border:.5px solid #d1cec7;border-radius:6px;background:#fff;color:#111;font-size:15px;
}
.cosmod-qty button{width:40px;cursor:pointer;transition:border-color .2s,background .2s}
.cosmod-qty button:hover{border-color:#999;background:var(--surface)}
.cosmod-qty .plus[disabled]{opacity:.45;cursor:not-allowed}
.cosmod-qty input.qty{width:70px;text-align:center;-moz-appearance:textfield}
.cosmod-qty input.qty::-webkit-outer-spin-button,
.cosmod-qty input.qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}

.cosmod-info .add-to-cart,
.woocommerce .cosmod-sp .cosmod-info button.button.add-to-cart,
body .cosmod-sp .cosmod-info button.button.add-to-cart{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  margin:0!important;height:46px!important;padding:0 28px!important;
  background:#111!important;color:#fff!important;border:none!important;border-radius:8px!important;
  font-family:Arial,Helvetica,sans-serif!important;font-size:12px!important;font-weight:400!important;
  letter-spacing:.12em!important;text-transform:uppercase!important;cursor:pointer!important;
  box-shadow:none!important;transition:opacity .2s!important;
}
.cosmod-info .add-to-cart:hover,
body .cosmod-sp .cosmod-info button.button.add-to-cart:hover{opacity:.82!important;filter:none!important}
.cosmod-info .add-to-cart:disabled{opacity:.4!important;cursor:not-allowed!important}

.cosmod-like{
  --size:40px;width:var(--size);height:var(--size);flex-shrink:0;
  border:.5px solid #d1cec7;border-radius:999px;background:#fff;
  display:grid;place-items:center;cursor:pointer;transition:border-color .2s;
}
.cosmod-like:hover{border-color:#999}
.cosmod-like.in,.cosmod-like.active{border-color:#8b1a1a;background:#fdf5f5}
.cosmod-like .heart{width:18px;height:18px;display:inline-block;position:relative}
.cosmod-like .heart::before,.cosmod-like .heart::after{
  content:"";position:absolute;width:10px;height:16px;background:#8b1a1a;border-radius:10px 10px 0 0;
}
.cosmod-like .heart::before{left:4px;top:2px;transform:rotate(-45deg)}
.cosmod-like .heart::after{right:4px;top:2px;transform:rotate(45deg)}

.cosmod-bullets{
  list-style:none;margin:20px 0 0;padding:16px 0 0;border-top:.5px solid var(--line);
}
.cosmod-bullets li{
  display:flex;align-items:flex-start;gap:10px;padding:8px 0;border-bottom:.5px solid #f0ede8;
  font-family:Arial,Helvetica,sans-serif;font-size:13px;line-height:1.4;color:var(--muted);text-align:left;
}
.cosmod-bullets li:last-child{border-bottom:none}
.cosmod-bullets li::before{
  content:"";flex-shrink:0;width:18px;height:18px;margin-top:1px;border-radius:50%;border:.5px solid #c8c4bc;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='M2 5 L4.2 7.5 L8 3' stroke='%23555' stroke-width='1.4' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/12px no-repeat;
}

.cosmod-sp .cosmod-tabs{grid-column:1/-1}
.cosmod-tabs{
  margin:28px auto 24px;
  border-top:.5px solid var(--line,#e8e6e1);
  padding:16px 0 0;
  width:min(1100px,calc(100% - 32px));
  box-sizing:border-box;
}
.cosmod-sp > .cosmod-tabs{
  margin-top:28px;
  width:100%;
  padding-top:16px;
}
.cosmod-tabs-nav{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:0}
.cosmod-tabs-nav .tab{
  padding:10px 18px;border:.5px solid var(--line);border-bottom:none;border-radius:8px 8px 0 0;
  background:var(--surface);font-family:Arial,Helvetica,sans-serif;font-size:12px;font-weight:400;
  letter-spacing:.08em;text-transform:uppercase;color:#777;cursor:pointer;
}
.cosmod-tabs-nav .tab.active{background:#fff;color:#111}
.cosmod-tabs-panels{
  border:.5px solid var(--line);border-radius:0 8px 8px 8px;background:#fff;padding:16px 18px;
  font-family:Arial,Helvetica,sans-serif;font-size:14px;line-height:1.6;color:#333;
}
.cosmod-tabs-panels .panel{display:none}
.cosmod-tabs-panels .panel.show{display:block}
.cosmod-info-table{width:100%;border-collapse:collapse}
.cosmod-info-table th,.cosmod-info-table td{padding:8px 10px;border-bottom:.5px solid var(--line);text-align:left;font-weight:400}
.cosmod-info-table th{width:34%;color:#777;text-transform:uppercase;font-size:11px;letter-spacing:.06em}

@media (min-width:981px){
  .cosmod-sp.gallery-right{grid-template-columns:.9fr 1.1fr}
  .cosmod-sp.gallery-right .cosmod-gallery{grid-column:2}
  .cosmod-sp.gallery-right .cosmod-info{grid-column:1}
  .cosmod-sp.gallery-left .cosmod-gallery{grid-column:1}
  .cosmod-sp.gallery-left .cosmod-info{grid-column:2}
}

.cosmod-zoom{
  position:fixed;inset:0;display:none;align-items:center;justify-content:center;
  background:rgba(0,0,0,.78);z-index:9999;
}
.cosmod-zoom.show{display:flex}
.cosmod-zoom img{
  /*
   * Fixed box (not max-width/max-height + auto) so every product's zoom
   * image renders at the same on-screen size regardless of its own
   * dimensions or embedded background — object-fit:contain then letterboxes
   * the actual photo inside it, and the uniform #fff fills the rest.
   *
   * !important on width/height/max-width/max-height: many themes ship a
   * global "img{max-width:100%;height:auto}" rule, sometimes with its own
   * !important — without matching that here, this box goes back to sizing
   * itself from each photo's own aspect ratio (tall product shot = narrow
   * box, wide swatch shot = full-width box), which is the exact "different
   * sizes" bug this rule exists to prevent.
   */
  width:min(82vw,760px) !important;height:min(82vh,760px) !important;
  max-width:min(82vw,760px) !important;max-height:min(82vh,760px) !important;
  box-sizing:border-box;padding:24px;
  object-fit:contain;background:#fff;border-radius:12px;box-shadow:0 10px 40px rgba(0,0,0,.5);cursor:zoom-out;
}
.cosmod-zoom .zprev,.cosmod-zoom .znext,.cosmod-zoom .close{
  position:fixed;width:46px;height:46px;border:1px solid #e5e7eb;border-radius:999px;background:#fff;
  box-shadow:0 2px 12px rgba(0,0,0,.15);font-size:20px;font-weight:700;display:grid;place-items:center;
  cursor:pointer;z-index:10000;
}
/*
 * Sit ON the fixed-size photo box, overlapping its inner edge (like the
 * arrows on the main product gallery), not outside it and not pinned to
 * the browser edge — the box is centered and always min(82vw,760px) wide,
 * so the offset from center is half that minus a small inset; max() keeps
 * at least 16px from the screen edge on narrow/mobile viewports.
 */
.cosmod-zoom .zprev{left:max(16px,calc(50% - (min(82vw,760px) / 2) + 16px));top:50%;transform:translateY(-50%)}
.cosmod-zoom .znext{right:max(16px,calc(50% - (min(82vw,760px) / 2) + 16px));top:50%;transform:translateY(-50%)}
/*
 * Same idea for the close button: sit on the box's top-right corner, not
 * the browser corner. This replaces the old top:16px/right:16px (which
 * pinned it to the viewport) — kept as one rule so a later, unrelated
 * edit can't reintroduce the old fixed values above this one again.
 */
.cosmod-zoom .close{
  right:max(16px,calc(50% - (min(82vw,760px) / 2) + 16px));
  top:max(16px,calc(50% - (min(82vh,760px) / 2) + 16px));
  border:none;
}
/*
 * Hint sits inside the white box, just above its bottom edge (same box-height
 * formula as the img), so it's dark text on white instead of white on the overlay.
 */
.cosmod-zoom .hint{
  position:fixed;bottom:max(14px,calc(50% - (min(82vh,760px) / 2) + 12px));left:50%;transform:translateX(-50%);
  color:#111;font-size:13px;opacity:.85;z-index:10000;white-space:nowrap;pointer-events:none;
  font-family:Arial,Helvetica,sans-serif;
}

/*
 * Mobile: hide the zoom prev/next arrow buttons — navigation there is by
 * swipe instead (see the touch handler in single-product.php). !important
 * is required: the zoom-open script sets an inline display style on these
 * buttons every time it opens (to hide them when there's only one image),
 * and a plain rule here would lose to that inline style.
 */
@media (max-width:767px){
  .cosmod-zoom .zprev,.cosmod-zoom .znext{width:40px;height:40px;font-size:22px;font-weight:400;box-shadow:0 1px 6px rgba(0,0,0,.08)}
  /* Shorter box on mobile — 82vh made it nearly full-screen tall on narrow phones. */
  .cosmod-zoom img{
    height:min(60vh,520px) !important;
    max-height:min(60vh,520px) !important;
  }
  /*
   * Close button's top offset is computed from the box height, so it needs
   * the same 60vh here to stay on the corner. Also drop the white circle
   * backdrop on mobile — just the bare "×". It sits near the white photo
   * box's top-right corner, not the dark overlay, so the glyph stays dark
   * to read against white. Nudged a bit higher and further right (closer
   * to the box's outer corner) and bigger per feedback.
   */
  .cosmod-zoom .close{
    top:max(4px,calc(50% - (min(60vh,520px) / 2) - 6px));
    right:max(4px,calc(50% - (min(82vw,760px) / 2) + 6px));
  }
  /* Hint: follow the shorter mobile box height. */
  .cosmod-zoom .hint{
    bottom:max(14px,calc(50% - (min(60vh,520px) / 2) + 10px));
    font-size:12px;
  }
  .cosmod-zoom .close{
    background:transparent !important;
    box-shadow:none !important;
    color:#111;
    font-size:24px;
    font-weight:400;
    width:44px;
    height:44px;
  }
}

.cosmod-wishlist-list{list-style:none;margin:0;padding:0}
.cosmod-wishlist-page{
  width:100%;
  max-width:none;
  margin:0;
  padding:36px clamp(16px,4vw,56px) 72px;
  box-sizing:border-box;
  background:#fff;
  color:#111;
  min-height:50vh;
}
.cosmod-wishlist-page .cosmod-wishlist-loading{color:#666}
.cosmod-wishlist-item{
  display:grid;grid-template-columns:72px 1fr auto;gap:16px;align-items:center;
  padding:14px 0;border-bottom:.5px solid var(--line,#e8e6e1);
  background:#fff;
}
.cosmod-wishlist-thumb img{width:72px;height:72px;object-fit:cover;border-radius:8px}
.cosmod-wishlist-empty{padding:24px 0;color:#666;font-family:Arial,Helvetica,sans-serif}

@media (max-width:767px){
  .cosmod-sp{grid-template-columns:1fr;gap:20px;padding:18px 16px 22px;padding-left:16px!important}
  .cosmod-sp .cosmod-gallery{order:1}
  .cosmod-sp .cosmod-info{order:2;text-align:center}
  .cosmod-sp .cosmod-tabs{order:3}
  .cosmod-info .title-row,.cosmod-meta{justify-content:center}
  .cosmod-info .price,.cosmod-brief,.cosmod-info .brand{text-align:center}
  .cv-wrap,.cv-label{text-align:center}
  .cv-toggle{text-align:left}
  .cosmod-gallery .cosmod-nav{pointer-events:none;height:0;overflow:hidden}
  .cosmod-gallery .cosmod-nav button{opacity:0;visibility:hidden;pointer-events:none;width:0;height:0;margin:0;border:0}
  .cosmod-thumbs{
    flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;
    -webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;
  }
  .cosmod-thumbs .thumb{flex:0 0 calc((100% - 30px)/4);max-width:calc((100% - 30px)/4);scroll-snap-align:start}
  .cosmod-thumbs img{width:100%;height:auto}
  .cosmod-qty,
  .cosmod-sp .cosmod-qty{
    width:fit-content;margin:10px auto 14px;justify-content:center
  }
  .cosmod-actions{
    display:flex;flex-direction:column;align-items:center;width:100%;gap:12px
  }
  .cosmod-info .add-to-cart,
  body .cosmod-sp .cosmod-info button.button.add-to-cart{width:100%!important;max-width:100%!important;margin:0!important}
  .cosmod-bullets{width:fit-content;max-width:100%;margin:20px auto 0;text-align:left}
  .cosmod-tabs-nav{justify-content:center}
  .cosmod-tabs-panels{text-align:center}
  .cosmod-info-table th,.cosmod-info-table td{text-align:center}
  .cosmod-wishlist-item{grid-template-columns:64px 1fr}
  .cosmod-wishlist-actions{grid-column:1/-1}
}

/* ===== Produits similaires ===== */
.cosmod-similar{
  width:100%;
  max-width:1200px;
  margin:48px auto 24px;
  padding:0 48px;
  box-sizing:border-box;
  position:relative;
}
.cosmod-similar__title{
  margin:0 0 28px;
  text-align:center;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(22px,2.4vw,32px);
  font-weight:400;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:#111;
}
.cosmod-similar__rail{
  position:relative;
  display:flex;
  align-items:center;
}
.cosmod-similar__viewport{
  overflow:hidden;
  width:100%;
}
.cosmod-similar__track{
  display:flex;
  gap:16px;
  transition:transform .35s ease;
  will-change:transform;
}
.cosmod-similar-card{
  flex:0 0 calc((100% - 64px) / 5);
  max-width:calc((100% - 64px) / 5);
  box-sizing:border-box;
  border:.5px solid #e5e5e5;
  border-radius:10px;
  background:#fff;
  padding:14px 12px 16px;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
}
.cosmod-similar-card__img{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  aspect-ratio:1/1;
  margin-bottom:12px;
  background:#fff;
  border-radius:8px;
  overflow:hidden;
  text-decoration:none;
  /* Consistent inner margin so every photo sits the same distance from the
     edges regardless of how tightly it was originally cropped. */
  box-sizing:border-box;
  padding:6px;
}
.cosmod-similar-card__img img{
  width:100% !important;
  height:100% !important;
  max-width:100% !important;
  max-height:100% !important;
  object-fit:contain;
  display:block;
}
.cosmod-similar-card__name{
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
  min-height:3.6em;
  margin:0 0 8px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:14px;
  line-height:1.25;
  color:#111;
  text-decoration:none;
}
.cosmod-similar-card__name:hover{opacity:.75}
.cosmod-similar-card__price{
  margin:0 0 12px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:16px;
  color:#111;
}
.cosmod-similar-card__atc{
  margin-top:auto;
  width:100%;
  min-height:40px;
  padding:10px 12px;
  border:none;
  border-radius:6px;
  background:#111;
  color:#fff;
  font-family:Arial,Helvetica,sans-serif;
  font-size:11px;
  font-weight:600;
  letter-spacing:.08em;
  text-transform:uppercase;
  cursor:pointer;
  transition:opacity .2s;
}
.cosmod-similar-card__atc:hover{opacity:.85}
.cosmod-similar-card__atc:disabled{opacity:.4;cursor:not-allowed}
.cosmod-similar-card__atc.is-added{background:#2d7a4f}
.cosmod-similar__btn{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  z-index:2;
  width:42px;
  height:42px;
  border-radius:999px;
  border:.5px solid #ddd;
  background:#fff;
  color:#111;
  font-size:22px;
  line-height:1;
  cursor:pointer;
  box-shadow:0 2px 10px rgba(0,0,0,.08);
  display:grid;
  place-items:center;
}
.cosmod-similar__btn--prev{left:0}
.cosmod-similar__btn--next{right:0}
.cosmod-similar__btn:hover{background:#f5f5f5}
.cosmod-similar__btn:disabled{opacity:.35;cursor:default}

@media (max-width:1100px){
  .cosmod-similar-card{
    flex-basis:calc((100% - 48px) / 4);
    max-width:calc((100% - 48px) / 4);
  }
}
@media (max-width:900px){
  .cosmod-similar{padding:0 16px}
  .cosmod-similar-card{
    flex-basis:calc((100% - 32px) / 3);
    max-width:calc((100% - 32px) / 3);
  }
}
@media (max-width:640px){
  .cosmod-similar{
    /* !important needed here: ".cosmod-sp-wrap .cosmod-similar{max-width:100%}"
       above (two classes) is more specific than this single-class selector
       and otherwise wins even inside this mobile block, capping the width
       at the wrap's own (narrower) content box instead of the full
       viewport. With that cap left in place, the -50vw negative margin
       below (sized for a TRUE 100vw box) shifted the block left but its
       actual width fell short of the viewport, leaving 0 gap on the left
       and a leftover gap on the right — asymmetric side margins. */
    width:100vw !important;
    max-width:100vw !important;
    margin:28px 0 12px;
    margin-left:calc(50% - 50vw);
    padding:0 10px;
    box-sizing:border-box;
  }
  .cosmod-similar__title{margin-bottom:14px;font-size:20px;padding:0 4px}
  .cosmod-similar__rail{padding:0}
  .cosmod-similar__viewport{width:100%;overflow:hidden}
  .cosmod-similar__track{gap:10px}
  .cosmod-similar-card{
    flex:0 0 calc((100% - 10px) / 2);
    max-width:calc((100% - 10px) / 2);
    padding:12px 10px 14px;
  }
  /* Arrows hidden on mobile: the cards are already narrow, so the arrows
     sit on top of the product name. Swiping the track with a finger
     replaces them (see the touch handlers in single-product.php). */
  .cosmod-similar__btn{display:none !important}
  .cosmod-similar__btn--prev{left:4px}
  .cosmod-similar__btn--next{right:4px}
}

/* ===== Wishlist: elegant favourites cards (2026-10-24) ===== */
body.cosmod-theme .cosmod-theme-page:has(.wish-page--elegant){padding-top:0!important}
body.cosmod-theme .cosmod-theme-content>.wish-page--elegant:first-child{margin-top:0!important}
body.cosmod-theme .wish-page--elegant{width:100%;max-width:none;margin:0;padding:26px 0 44px;box-sizing:border-box;background:#fff;color:#142c49;font-family:"DM Sans",Arial,sans-serif}
body.cosmod-theme .wish-page--elegant .wish-page__inner{width:min(1050px,100%);margin:0 auto}
body.cosmod-theme .wish-page--elegant .wish-page__head{text-align:center;margin:0 0 24px}
body.cosmod-theme .wish-page--elegant .wish-page__title{font-family:"Cormorant Garamond",Georgia,serif!important;font-size:34px!important;font-weight:600!important;line-height:1.2!important;letter-spacing:0!important;text-transform:none!important;color:#142c49!important;margin:0!important}
body.cosmod-theme .wish-page--elegant .wish-page__sub{margin:7px 0 0;color:#738091;font-size:13px;line-height:1.4}
body.cosmod-theme .wish-page--elegant .wish-page__line{width:40px;height:1px;background:#c5ae88;margin:12px auto 0}
body.cosmod-theme .wish-page--elegant .wish-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
body.cosmod-theme .wish-page--elegant .wish-row{position:relative;display:grid;grid-template-columns:110px minmax(0,1fr);gap:18px;align-items:center;min-width:0;padding:18px 16px;background:#fdfcf9!important;border:1px solid #d8c4a5!important;border-radius:18px;box-shadow:none;box-sizing:border-box}
body.cosmod-theme .wish-page--elegant .wish-row__img{display:flex;align-items:center;justify-content:center;width:110px;height:160px;margin:0;padding:5px;background:#fff;border-radius:10px;overflow:hidden;box-sizing:border-box}
body.cosmod-theme .wish-page--elegant .wish-row__img img{display:block!important;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;object-position:center!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;aspect-ratio:auto!important;mix-blend-mode:normal!important;filter:none!important}
body.cosmod-theme .wish-page--elegant .wish-row__details{min-width:0;align-self:center}
body.cosmod-theme .wish-page--elegant .wish-row__brand{display:block;margin:0 30px 5px 0;color:#b99a69!important;font-size:10px;line-height:1.3;letter-spacing:.11em;text-transform:uppercase;font-weight:600}
body.cosmod-theme .wish-page--elegant .wish-row__brand:empty{display:none}
body.cosmod-theme .wish-page--elegant .wish-row__name{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;min-width:0;margin:0 20px 8px 0;color:#142c49!important;text-decoration:none!important;font:500 14px/1.4 "DM Sans",Arial,sans-serif!important;letter-spacing:0;text-transform:none}
body.cosmod-theme .wish-page--elegant .wish-row__name:hover{text-decoration:underline!important}
body.cosmod-theme .wish-page--elegant .wish-row__price{font:700 17px/1.3 "DM Sans",Arial,sans-serif;white-space:nowrap;color:#142c49!important;margin:0 0 10px;text-align:left;min-width:0}
body.cosmod-theme .wish-page--elegant .wish-row__controls{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
body.cosmod-theme .wish-page--elegant .wish-row__qty{display:inline-flex;align-items:center;height:38px;border:1px solid #d8c4a5;border-radius:22px;overflow:hidden;background:#fff;flex-shrink:0;box-sizing:border-box}
body.cosmod-theme .wish-page--elegant .wish-row__qty-btn{display:flex;align-items:center;justify-content:center;width:32px;min-width:32px;height:36px;min-height:0;padding:0;margin:0;border:0;border-radius:0;background:transparent;color:#142c49;font:400 19px/1 Arial,sans-serif;cursor:pointer;touch-action:manipulation}
body.cosmod-theme .wish-page--elegant .wish-row__qty-btn:disabled{opacity:.35;cursor:default}
body.cosmod-theme .wish-page--elegant .wish-row__qty-input{width:34px!important;min-width:0!important;max-width:34px!important;height:36px!important;min-height:0!important;margin:0!important;padding:0 2px!important;border:0!important;border-left:1px solid #ece5d9!important;border-right:1px solid #ece5d9!important;border-radius:0!important;box-shadow:none!important;background:#fff!important;color:#142c49!important;text-align:center!important;font:500 16px/1 "DM Sans",Arial,sans-serif!important;appearance:textfield;-moz-appearance:textfield}
body.cosmod-theme .wish-page--elegant .wish-row__qty-input::-webkit-inner-spin-button,body.cosmod-theme .wish-page--elegant .wish-row__qty-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
body.cosmod-theme .wish-page--elegant .wish-row__add{display:flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;height:44px;min-height:0;margin:0;padding:0;border:0;border-radius:50%;background:#142c49!important;color:#fff!important;cursor:pointer;box-shadow:none}
body.cosmod-theme .wish-page--elegant .wish-row__add svg{display:block;pointer-events:none;width:20px;height:20px}
body.cosmod-theme .wish-page--elegant .wish-row__remove{position:absolute;top:10px;right:10px;display:flex;align-items:center;justify-content:center;width:32px;height:32px;min-height:0;margin:0;padding:0;border:0;border-radius:50%;background:transparent!important;color:#bda47b!important;cursor:pointer}
body.cosmod-theme .wish-page--elegant .wish-row__remove svg{pointer-events:none;display:block;width:19px;height:19px}
body.cosmod-theme .wish-page--elegant .wish-row__options{font-size:12px;line-height:1.3;color:#142c49;text-decoration:underline}
body.cosmod-theme .wish-page--elegant .wish-status{margin:12px 0;color:#526579;font-size:13px;text-align:center;line-height:1.5}
body.cosmod-theme .wish-page--elegant .wish-status:empty{display:none}
body.cosmod-theme .wish-page--elegant .wish-actions{margin:20px auto 0;max-width:560px;display:flex;flex-direction:column;gap:14px}
body.cosmod-theme .wish-page--elegant .wish-actions[hidden]{display:none!important}
body.cosmod-theme .wish-page--elegant .wish-add-all{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px;min-height:48px;width:100%;margin:0;padding:12px 16px;border:1px solid #142c49;border-radius:12px;background:#142c49!important;color:#fff!important;font:600 14px/1.4 "DM Sans",Arial,sans-serif;cursor:pointer;text-transform:none;letter-spacing:0}
body.cosmod-theme .wish-page--elegant #wish-total{padding-left:12px;border-left:1px solid rgba(255,255,255,.4);white-space:nowrap}
body.cosmod-theme .wish-page--elegant .wish-actions__secondary{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
body.cosmod-theme .wish-page--elegant .wish-actions__secondary a,body.cosmod-theme .wish-page--elegant .wish-actions__secondary button{display:inline-flex;align-items:center;justify-content:center;min-height:36px;margin:0;padding:4px 0;border:0;border-radius:0;background:transparent!important;color:#738091!important;font:400 12px/1.4 "DM Sans",Arial,sans-serif;box-shadow:none;text-decoration:underline!important;cursor:pointer}
body.cosmod-theme .wish-page--elegant button:disabled{cursor:default}
body.cosmod-theme .wish-page--elegant .wish-row__add:disabled,body.cosmod-theme .wish-page--elegant .wish-add-all:disabled{opacity:.55}
body.cosmod-theme .wish-page--elegant button:focus-visible,body.cosmod-theme .wish-page--elegant a:focus-visible{outline:2px solid #b99a69;outline-offset:3px}
body.cosmod-theme .wish-page--elegant .wish-empty{text-align:center;padding:40px 16px;background:#fdfcf9;border:1px solid #e4d8c5;border-radius:18px}
body.cosmod-theme .wish-page--elegant .wish-empty p{margin:0 0 20px;color:#738091;font-size:14px}
body.cosmod-theme .wish-page--elegant .wish-empty a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 22px;border-radius:24px;background:#142c49;color:#fff!important;font:600 13px/1.4 "DM Sans",Arial,sans-serif;text-decoration:none!important}
@media(max-width:760px){body.cosmod-theme .wish-page--elegant{padding:14px 0 28px}body.cosmod-theme .wish-page--elegant .wish-list{grid-template-columns:minmax(0,1fr);gap:12px}body.cosmod-theme .wish-page--elegant .wish-row{grid-template-columns:90px minmax(0,1fr);gap:14px;padding:14px 12px;border-radius:17px}body.cosmod-theme .wish-page--elegant .wish-row__img{width:90px;height:146px}body.cosmod-theme .wish-page--elegant .wish-page__title{font-size:30px!important}body.cosmod-theme .wish-page--elegant .wish-page__head{margin-bottom:20px}}
@media(max-width:360px){body.cosmod-theme .wish-page--elegant .wish-row{grid-template-columns:70px minmax(0,1fr);gap:10px;padding:12px 10px}body.cosmod-theme .wish-page--elegant .wish-row__img{width:70px;height:138px}body.cosmod-theme .wish-page--elegant .wish-row__name{font-size:13px!important}body.cosmod-theme .wish-page--elegant .wish-row__controls{gap:6px}body.cosmod-theme .wish-page--elegant .wish-row__qty-btn{width:28px;min-width:28px}body.cosmod-theme .wish-page--elegant .wish-row__add{width:40px;height:40px;flex-basis:40px}}

/* ===== Product page: centered container like the demo ===== */
.cosmod-sp-wrap{width:min(1240px,calc(100% - 48px));margin:0 auto;padding:24px 0 48px;box-sizing:border-box}
.cosmod-sp-crumbs{font-family:"DM Sans",system-ui,sans-serif;font-size:13px;color:#555;margin:0 0 18px;line-height:1.5}
.cosmod-sp-crumbs a{color:#1a5fb4;text-decoration:none}
.cosmod-sp-crumbs a:hover{text-decoration:underline}
.cosmod-sp-crumbs i{font-style:normal;margin:0 6px;color:#888}
.cosmod-sp-wrap .cosmod-sp{width:100%;max-width:none;margin:0}
.cosmod-sp-wrap .cosmod-similar,.cosmod-sp-wrap .cosmod-tabs{max-width:100%}
@media (max-width:767px){
  .cosmod-sp-wrap{width:calc(100% - 24px);padding-top:12px}
  .cosmod-sp{grid-template-columns:1fr}
}

/* Theme woo shell = same centered container (works even if the wrapper is absent) */
.cosmod-theme-shell--woo{width:min(1240px,calc(100% - 48px));margin-left:auto;margin-right:auto;padding-top:24px;padding-bottom:48px;box-sizing:border-box}
.cosmod-theme-shell--woo .cosmod-sp-wrap{width:100%;padding:0}
.cosmod-theme-shell--woo .cosmod-sp{width:100%;max-width:none;margin-left:0;margin-right:0}
@media (max-width:767px){.cosmod-theme-shell--woo{width:calc(100% - 24px)}}

/* ===== Overflow fixes (info column must not exceed its grid cell) ===== */
.cosmod-sp>.cosmod-sp-col{min-width:0}
.cosmod-info>*{min-width:0;max-width:100%}
.cosmod-info .cv-wrap{width:100%;max-width:100%;box-sizing:border-box}
.cosmod-info .cv-toggle,.cosmod-info .cv-dropdown{width:100%;max-width:100%;box-sizing:border-box}
.cosmod-info .cosmod-ing{width:100%;max-width:100%}
.cosmod-info .cosmod-qty{width:auto}
.cosmod-info .title{min-width:0;overflow-wrap:anywhere}

/* ===== Demo parity tweaks ===== */
/* duplicate WooCommerce stock line ("Vorrätig") – demo shows only the badge */
.cosmod-info>.stock{display:none!important}
/* empty express-pay box must not add space */
.cosmod-express-pay:empty{display:none}
/* qty + add to cart on one row */
.cosmod-info .cosmod-qty,.cosmod-info .add-to-cart{vertical-align:middle}
.cosmod-info .cosmod-qty{display:inline-flex;width:auto}
.cosmod-info>.cosmod-qty{width:auto;flex:0 0 auto}
.cosmod-info>.add-to-cart{width:auto;flex:0 0 auto}
/* colour chain block like demo */
.cv-label{font-family:"DM Sans",system-ui,sans-serif;font-size:13px;font-weight:600;margin:14px 0 8px;color:#111}
.cv-toggle{border-radius:10px}
/* sticky header must not cover the top of the page */
.woocommerce-page .cosmod-theme-shell--woo{scroll-margin-top:120px}

/* ===== Ingrédients accordion arrow ===== */
.cosmod-ing__summary{display:flex;align-items:center;justify-content:space-between;gap:12px;user-select:none}
.cosmod-ing__summary::after{
  content:"";flex:0 0 auto;width:8px;height:8px;margin-right:2px;
  border-right:1.5px solid #777;border-bottom:1.5px solid #777;
  transform:rotate(45deg) translateY(-2px);transition:transform .2s ease;
}
.cosmod-ing[open]>.cosmod-ing__summary::after{transform:rotate(-135deg) translateY(-2px)}
.cosmod-ing__summary:hover{color:#111}
.cosmod-ing__summary:hover::after{border-color:#111}

/* Tabs right under the product card, full container width */
.cosmod-sp-wrap .cosmod-tabs,.cosmod-theme-shell--woo .cosmod-tabs{width:100%;max-width:none;margin:28px 0 0;padding-top:16px}
.cosmod-sp-wrap .cosmod-similar{margin-top:56px}

/* Similar products: heart */
.cosmod-similar-card{position:relative}
.cosmod-similar-card__heart{position:absolute;top:10px;right:10px;z-index:3;width:34px;height:34px;border-radius:50%;border:1px solid #e5e5e5;background:#fff;color:#111;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;transition:color .15s,border-color .15s,transform .15s}
.cosmod-similar-card__heart:hover{border-color:#111;transform:scale(1.06)}
.cosmod-similar-card__heart.is-active{color:#111;border-color:#111}
.cosmod-similar-card__heart.is-active svg path{fill:currentColor}

/* Main product heart: same look as similar-card hearts (outline, black when active) */
.cosmod-like{border:1px solid #e5e5e5!important;background:#fff!important;color:#111!important;width:34px!important;height:34px!important;--size:34px}
.cosmod-like:hover{border-color:#111!important}
.cosmod-like.in,.cosmod-like.active,.cosmod-like.is-active{border-color:#111!important;background:#fff!important;color:#111!important}
.cosmod-like .heart{display:flex!important;align-items:center;justify-content:center;width:18px;height:18px;position:static}
.cosmod-like .heart::before,.cosmod-like .heart::after{content:none!important;display:none!important}
.cosmod-like .heart svg{display:block}
.cosmod-like.in .heart svg path,.cosmod-like.active .heart svg path,.cosmod-like.is-active .heart svg path{fill:currentColor}

/* Heart: top-left corner of the product image */
.cosmod-gallery .cosmod-main-img{position:relative}
.cosmod-main-img .cosmod-like{position:absolute!important;top:12px!important;left:12px!important;right:auto!important;z-index:6}

/*
 * Mobile: Description / Ingrédients / Informations as an accordion card,
 * styled like the "Mon compte" menu (rounded white card, rows with a
 * chevron, open row = black pill). Nav and panels are separate containers
 * in the markup, so display:contents + order interleaves each panel right
 * under its own button without touching the HTML.
 */
@media (max-width:767px){
  .cosmod-sp .cosmod-tabs,
  .cosmod-sp-wrap .cosmod-tabs,
  .cosmod-theme-shell--woo .cosmod-tabs,
  .cosmod-tabs{
    display:flex !important;flex-direction:column;
    width:100% !important;margin:24px 0 0 !important;padding:8px !important;
    border:1px solid #ececec !important;border-radius:18px !important;
    background:#fff !important;box-shadow:0 6px 20px rgba(0,0,0,.05);
    box-sizing:border-box;
  }
  .cosmod-tabs .cosmod-tabs-nav,
  .cosmod-tabs .cosmod-tabs-panels{display:contents !important}

  .cosmod-tabs .tab[data-tab="desc"]{order:1}
  .cosmod-tabs #tab-desc{order:2}
  .cosmod-tabs .tab[data-tab="ing"]{order:3}
  .cosmod-tabs #tab-ing{order:4}
  .cosmod-tabs .tab[data-tab="info"]{order:5}
  .cosmod-tabs #tab-info{order:6}

  .cosmod-tabs .cosmod-tabs-nav .tab{
    display:flex !important;align-items:center;justify-content:space-between;
    width:100% !important;margin:0 !important;padding:14px 16px !important;
    border:none !important;border-radius:12px !important;
    background:transparent !important;color:#111 !important;
    font-family:inherit;font-size:15px !important;font-weight:500 !important;
    letter-spacing:0 !important;text-transform:none !important;text-align:left !important;
    box-shadow:none !important;
  }
  .cosmod-tabs .cosmod-tabs-nav .tab::after{
    content:"";width:8px;height:8px;flex-shrink:0;margin-left:12px;
    border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;
    transform:rotate(45deg) translateY(-2px);transition:transform .2s;
  }
  .cosmod-tabs .cosmod-tabs-nav .tab.active{background:#111 !important;color:#fff !important}
  .cosmod-tabs .cosmod-tabs-nav .tab.active::after{transform:rotate(-135deg) translateY(-2px)}

  .cosmod-tabs .cosmod-tabs-panels .panel{display:none !important}
  .cosmod-tabs .cosmod-tabs-panels .panel.show{
    display:block !important;padding:12px 16px 16px;text-align:left !important;
    font-size:14px;line-height:1.6;color:#333;
  }
  .cosmod-tabs .cosmod-info-table th,
  .cosmod-tabs .cosmod-info-table td{text-align:left !important}
}

/*
 * The theme's own WooCommerce style sets ".summary{margin-bottom:2em}" on
 * mobile, which leaves a large empty gap between "Produits similaires" and
 * the footer (the summary block is technically still open at that point in
 * the markup). Pull it back in on mobile only.
 */
@media (max-width:768px){
  .woocommerce div.product div.summary{margin-bottom:-6em !important;}
}
.cosmod-gallery .cosmod-thumbs .thumb.active,.cosmod-gallery .cosmod-thumbs .thumb:active{outline:none!important;box-shadow:none!important;border-color:#ddd9d3!important;-webkit-tap-highlight-color:transparent}
.cosmod-gallery .cosmod-thumbs .thumb:focus-visible{outline:2px solid #748b9c!important;outline-offset:2px}

/* Mobile lightbox arrows at the white panel edges; desktop unchanged. */
@media(max-width:767px){
.cosmod-zoom .zprev,.cosmod-zoom .znext{background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;color:#111;font-size:26px;font-weight:400;width:40px;height:44px;padding:0}
.cosmod-zoom .zprev{left:max(8px,calc(50% - (min(82vw,760px) / 2)));}
.cosmod-zoom .znext{right:max(8px,calc(50% - (min(82vw,760px) / 2)));}

}


/* Desktop product thumbnails: keep the original arrow carousel outside the images. */
@media(min-width:768px){
  .cosmod-thumbs-nav{
    display:grid;grid-template-columns:30px minmax(0,1fr) 30px;gap:8px;align-items:center;
    width:100%;min-width:0;margin:12px auto 0;
  }
  .cosmod-thumbs-nav .cosmod-thumbs{
    display:flex;flex-wrap:nowrap;justify-content:flex-start;gap:10px;
    min-width:0;width:100%;margin:0;padding:2px 1px;overflow-x:auto;overflow-y:hidden;
    scrollbar-width:none;scroll-behavior:smooth;scroll-snap-type:x mandatory;
  }
  .cosmod-thumbs-nav .cosmod-thumbs::-webkit-scrollbar{display:none}
  .cosmod-thumbs-nav .cosmod-thumbs .thumb{flex:0 0 auto;scroll-snap-align:start}
  .cosmod-thumbs-nav .cosmod-thumbs-arrow{
    display:grid;place-items:center;width:30px;height:38px;flex:0 0 30px;padding:0;
    border:1px solid #e8e1d7;border-radius:999px;background:#fff;color:#765b3c;
    font:400 23px/1 Georgia,"Times New Roman",serif;cursor:pointer;
    box-shadow:0 2px 8px rgba(69,48,26,.07);transition:background .18s,border-color .18s,opacity .18s;
  }
  .cosmod-thumbs-nav .cosmod-thumbs-arrow:hover{background:#f8f3ed;border-color:#c9b79f}
  .cosmod-thumbs-nav .cosmod-thumbs-arrow:disabled{opacity:.38;cursor:default}
  .cosmod-thumbs-nav .cosmod-thumbs-arrow:focus-visible{outline:2px solid #92734e;outline-offset:2px}
}

/* Three clear, equal assurance columns below product information. */
.cosmod-trust{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;
  width:min(1100px,100%);margin:28px auto 0;overflow:hidden;
  border:1px solid #efe6dc;border-radius:16px;
  background:linear-gradient(145deg,#fdfbf8 0%,#f8f3ed 100%);
  box-shadow:0 7px 22px rgba(75,49,26,.055);color:#3d3328;
}
.cosmod-trust__item{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;
  min-width:0;min-height:128px;padding:18px 16px;text-align:center;
  font-family:Georgia,"Times New Roman",serif;font-size:16px;line-height:1.4;
}
.cosmod-trust__item+.cosmod-trust__item{border-left:1px solid #e7ddd1}
.cosmod-trust__icon{display:block;width:34px;height:34px;flex:0 0 34px;color:#806344}
@media(max-width:767px){
  .cosmod-trust{grid-template-columns:1fr;margin-top:20px;border-radius:14px}
  .cosmod-trust__item{flex-direction:row;justify-content:flex-start;gap:14px;min-height:68px;padding:12px 18px;text-align:left;font-size:15px}
  .cosmod-trust__item+.cosmod-trust__item{border-left:0;border-top:1px solid #e7ddd1}
  .cosmod-trust__icon{width:30px;height:30px;flex-basis:30px}
}


/* Product page refresh — warm editorial cards. */
.cosmod-info .add-to-cart{gap:12px!important}
.cosmod-info .add-to-cart .cosmod-cart-icon{width:22px;height:22px;flex:0 0 22px}
.cosmod-info .add-to-cart span{display:inline-block}
.cosmod-quick-facts{width:100%;margin:14px 0 8px;padding:18px 20px;border:1px solid #efe6dc;border-radius:14px;background:linear-gradient(145deg,#fdfbf8,#f8f3ed);color:#332b23}
.cosmod-quick-facts h2{margin:0 0 10px;font:400 21px/1.25 Georgia,"Times New Roman",serif;color:#211d19}
.cosmod-quick-facts dl{margin:0}.cosmod-quick-facts dl>div{display:grid;grid-template-columns:minmax(110px,.8fr) minmax(0,1.2fr);gap:14px;padding:8px 0;border-top:1px solid #e8dfd5}
.cosmod-quick-facts dt,.cosmod-quick-facts dd{margin:0;font:400 14px/1.4 Georgia,"Times New Roman",serif}.cosmod-quick-facts dt{color:#665849}.cosmod-quick-facts dd{color:#211d19}
.cosmod-details{width:100%;margin:16px 0 0;display:grid;gap:9px}.cosmod-detail{overflow:hidden;border:1px solid #efe3d7;border-radius:10px;background:#fff;box-shadow:0 2px 8px rgba(76,48,23,.025);color:#211d19}
.cosmod-detail>summary{display:flex;align-items:center;gap:14px;min-height:66px;padding:12px 18px;cursor:pointer;list-style:none}.cosmod-detail>summary::-webkit-details-marker{display:none}
.cosmod-detail>summary>svg{width:24px;height:24px;flex:0 0 24px;fill:none;stroke:#765b3c;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.cosmod-detail__heading{display:flex;flex:1;flex-direction:column;gap:3px;font:400 19px/1.25 Georgia,"Times New Roman",serif}.cosmod-detail__heading small{font:400 13px/1.4 Arial,Helvetica,sans-serif;color:#777}
.cosmod-detail>summary>i{width:9px;height:9px;flex:0 0 9px;margin-right:3px;border-right:1.5px solid #332b23;border-bottom:1.5px solid #332b23;transform:rotate(45deg) translateY(-2px);transition:transform .18s}.cosmod-detail[open]>summary>i{transform:rotate(225deg) translateY(-2px)}
.cosmod-detail>summary:hover{background:#fdfbf8}.cosmod-detail__body{padding:0 56px 20px;color:#45403a;font:400 14px/1.65 Arial,Helvetica,sans-serif}.cosmod-detail__body>*:first-child{margin-top:0}.cosmod-detail__body>*:last-child{margin-bottom:0}
.cosmod-detail__body .cosmod-info-table{margin-top:12px}.cosmod-detail__body .cosmod-info-table th,.cosmod-detail__body .cosmod-info-table td{padding:9px 10px;border-bottom:1px solid #eee7df;text-align:left}.cosmod-detail__body .cosmod-info-table th{color:#766b60}
.cosmod-similar__heading{display:flex;align-items:baseline;justify-content:space-between;gap:18px;margin:0 0 18px;padding:0 0 12px;border-bottom:1px solid #e8cbb5}.cosmod-similar__heading .cosmod-similar__title{margin:0;text-align:left;text-transform:none;letter-spacing:0;font-size:clamp(24px,2.3vw,34px)}
.cosmod-similar__more{display:inline-flex;align-items:center;gap:8px;color:#5e4934;font:500 13px/1.4 Arial,Helvetica,sans-serif;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}.cosmod-similar__more span{font:400 22px/1 Georgia,"Times New Roman",serif}
@media(max-width:767px){.cosmod-quick-facts{margin-top:12px;padding:16px;border-radius:12px;text-align:left}.cosmod-quick-facts h2{font-size:19px}.cosmod-quick-facts dl>div{grid-template-columns:minmax(90px,.8fr) minmax(0,1.2fr);gap:10px;padding:8px 0}.cosmod-details{margin-top:20px;gap:8px}.cosmod-detail>summary{min-height:58px;padding:10px 14px;gap:12px;text-align:left}.cosmod-detail__heading{font-size:17px}.cosmod-detail__heading small{font-size:12px}.cosmod-detail__body{padding:0 18px 16px;text-align:left}.cosmod-similar__heading{align-items:flex-start;flex-direction:column;gap:6px;margin-bottom:14px}.cosmod-similar__heading .cosmod-similar__title{font-size:23px}.cosmod-similar__more{font-size:12px}}



/* Mobile product page: keep the new desktop visual language, adapted for touch. */
@media (max-width: 767px) {
  .cosmod-sp {
    gap: 16px !important;
    padding: 16px !important;
    border-radius: 16px !important;
  }
  .cosmod-sp .cosmod-details {
    width: 100% !important;
    margin: 18px 0 0 !important;
    display: grid !important;
    gap: 10px !important;
  }
  .cosmod-sp .cosmod-detail {
    overflow: hidden !important;
    border: 1px solid #efe3d7 !important;
    border-radius: 12px !important;
    background: #fff !important;
    box-shadow: 0 2px 8px rgba(76, 48, 23, .04) !important;
    color: #211d19 !important;
  }
  .cosmod-sp .cosmod-detail > summary {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    min-height: 58px !important;
    padding: 11px 14px !important;
    text-align: left !important;
    list-style: none !important;
  }
  .cosmod-sp .cosmod-detail > summary::-webkit-details-marker { display: none !important; }
  .cosmod-sp .cosmod-detail > summary > svg {
    width: 22px !important; height: 22px !important; flex: 0 0 22px !important;
    fill: none !important; stroke: #765b3c !important; stroke-width: 1.65 !important;
    stroke-linecap: round !important; stroke-linejoin: round !important;
  }
  .cosmod-sp .cosmod-detail__heading {
    display: flex !important; flex: 1 !important; flex-direction: column !important; gap: 3px !important;
    font: 400 17px/1.3 Georgia, "Times New Roman", serif !important;
  }
  .cosmod-sp .cosmod-detail__heading small {
    font: 400 12px/1.4 Arial, Helvetica, sans-serif !important; color: #777 !important;
  }
  .cosmod-sp .cosmod-detail > summary > i {
    width: 9px !important; height: 9px !important; flex: 0 0 9px !important;
    margin-right: 2px !important; border-right: 1.5px solid #332b23 !important;
    border-bottom: 1.5px solid #332b23 !important; transform: rotate(45deg) translateY(-2px) !important;
  }
  .cosmod-sp .cosmod-detail[open] > summary > i { transform: rotate(225deg) translateY(-2px) !important; }
  .cosmod-sp .cosmod-detail__body {
    padding: 0 16px 17px !important; color: #45403a !important;
    font: 400 14px/1.65 Arial, Helvetica, sans-serif !important;
    overflow-wrap: anywhere !important; text-align: left !important;
  }
  .cosmod-sp .cosmod-detail__body .cosmod-info-table {
    width: 100% !important; max-width: 100% !important; margin-top: 10px !important;
    table-layout: fixed !important; border-collapse: collapse !important;
  }
  .cosmod-sp .cosmod-detail__body .cosmod-info-table th,
  .cosmod-sp .cosmod-detail__body .cosmod-info-table td {
    padding: 9px 7px !important; border-bottom: 1px solid #eee7df !important;
    text-align: left !important; overflow-wrap: anywhere !important;
  }
  .cosmod-sp .cosmod-info__buy-row,
  .cosmod-sp .cosmod-buy-row { gap: 10px !important; }
  .cosmod-sp .cosmod-qty { width: 100% !important; margin: 0 0 10px !important; }
  .cosmod-sp .cosmod-info .add-to-cart,
  .cosmod-sp .cosmod-info button.button.add-to-cart,
  body .cosmod-sp .cosmod-info button.button.add-to-cart {
    display: flex !important; align-items: center !important; justify-content: center !important; gap: 10px !important;
    width: 100% !important; min-height: 52px !important; height: 52px !important;
    flex: 1 0 100% !important; margin: 10px 0 0 !important; padding: 0 18px !important;
    border: 0 !important; border-radius: 10px !important;
    background: #111 !important; color: #fff !important;
    font: 600 12px/1.2 Arial, Helvetica, sans-serif !important;
    letter-spacing: .1em !important; text-transform: uppercase !important;
    box-shadow: 0 3px 0 #d8d2c9 !important;
  }
  .cosmod-sp .cosmod-info .add-to-cart .cosmod-cart-icon {
    display: block !important; width: 19px !important; height: 19px !important; flex: 0 0 19px !important;
  }
  .cosmod-sp .cosmod-quick-facts {
    margin-top: 12px !important; padding: 16px !important; border-radius: 12px !important; text-align: left !important;
  }
  .cosmod-sp .cosmod-trust {
    width: 100% !important; margin: 18px 0 0 !important; padding: 8px 14px !important;
    display: grid !important; grid-template-columns: 1fr !important; border-radius: 12px !important;
  }
  .cosmod-sp .cosmod-trust__item {
    display: flex !important; align-items: center !important; justify-content: flex-start !important;
    gap: 12px !important; padding: 11px 2px !important; text-align: left !important;
  }
  .cosmod-sp .cosmod-trust__item + .cosmod-trust__item { border-left: 0 !important; border-top: 1px solid #eadfd2 !important; }
  .cosmod-sp .cosmod-trust__icon { width: 23px !important; height: 23px !important; flex: 0 0 23px !important; }
}



/* The details and trust panels sit below the main product card; style them independently on phones. */
@media (max-width: 767px) {
  .single-product .cosmod-details { width: 100% !important; margin: 18px 0 0 !important; display: grid !important; gap: 10px !important; }
  .single-product .cosmod-detail { overflow: hidden !important; border: 1px solid #efe3d7 !important; border-radius: 12px !important; background: #fff !important; box-shadow: 0 2px 8px rgba(76,48,23,.04) !important; color: #211d19 !important; }
  .single-product .cosmod-detail > summary { display:flex !important; align-items:center !important; gap:12px !important; min-height:58px !important; padding:11px 14px !important; text-align:left !important; list-style:none !important; }
  .single-product .cosmod-detail > summary::-webkit-details-marker { display:none !important; }
  .single-product .cosmod-detail > summary > svg { width:22px !important; height:22px !important; flex:0 0 22px !important; fill:none !important; stroke:#765b3c !important; stroke-width:1.65 !important; stroke-linecap:round !important; stroke-linejoin:round !important; }
  .single-product .cosmod-detail__heading { display:flex !important; flex:1 !important; flex-direction:column !important; gap:3px !important; font:400 17px/1.3 Georgia,"Times New Roman",serif !important; }
  .single-product .cosmod-detail__heading small { font:400 12px/1.4 Arial,Helvetica,sans-serif !important; color:#777 !important; }
  .single-product .cosmod-detail > summary > i { width:9px !important; height:9px !important; flex:0 0 9px !important; margin-right:2px !important; border-right:1.5px solid #332b23 !important; border-bottom:1.5px solid #332b23 !important; transform:rotate(45deg) translateY(-2px) !important; }
  .single-product .cosmod-detail[open] > summary > i { transform:rotate(225deg) translateY(-2px) !important; }
  .single-product .cosmod-detail__body { padding:0 16px 17px !important; color:#45403a !important; font:400 14px/1.65 Arial,Helvetica,sans-serif !important; overflow-wrap:anywhere !important; text-align:left !important; }
  .single-product .cosmod-detail__body .cosmod-info-table { width:100% !important; max-width:100% !important; margin-top:10px !important; table-layout:fixed !important; border-collapse:collapse !important; }
  .single-product .cosmod-detail__body .cosmod-info-table th,.single-product .cosmod-detail__body .cosmod-info-table td { padding:9px 7px !important; border-bottom:1px solid #eee7df !important; text-align:left !important; overflow-wrap:anywhere !important; }
  .single-product .cosmod-trust { width:100% !important; margin:18px 0 0 !important; padding:8px 14px !important; display:grid !important; grid-template-columns:1fr !important; border-radius:12px !important; }
  .single-product .cosmod-trust__item { display:flex !important; align-items:center !important; justify-content:flex-start !important; gap:12px !important; padding:11px 2px !important; text-align:left !important; }
  .single-product .cosmod-trust__item + .cosmod-trust__item { border-left:0 !important; border-top:1px solid #eadfd2 !important; }
  .single-product .cosmod-trust__icon { width:23px !important; height:23px !important; flex:0 0 23px !important; }
}


/* Related products: refined cards on desktop and a compact two-card carousel on phones. */
@media (min-width: 641px) {
  .single-product .cosmod-similar-card {
    padding: 12px 12px 14px !important;
    border: 1px solid #eee5dc !important;
    border-radius: 14px !important;
    background: #fffdfa !important;
    box-shadow: 0 4px 16px rgba(67, 48, 29, .045) !important;
    transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease !important;
  }
  .single-product .cosmod-similar-card:hover {
    border-color: #d9c4ad !important;
    box-shadow: 0 8px 22px rgba(67, 48, 29, .09) !important;
    transform: translateY(-2px) !important;
  }
  .single-product .cosmod-similar-card__img {
    aspect-ratio: 1.18 / 1 !important;
    margin-bottom: 10px !important;
    border-radius: 10px !important;
  }
  .single-product .cosmod-similar-card__name {
    min-height: 3.6em !important;
    margin-bottom: 7px !important;
    font-size: 14px !important;
    line-height: 1.28 !important;
  }
  .single-product .cosmod-similar-card__price {
    margin-bottom: 10px !important;
    font-size: 16px !important;
  }
  .single-product .cosmod-similar-card__atc {
    min-height: 42px !important;
    border-radius: 7px !important;
  }
  .single-product .cosmod-similar-card__heart {
    top: 9px !important;
    right: 9px !important;
    width: 32px !important;
    height: 32px !important;
    box-shadow: 0 2px 8px rgba(35, 27, 20, .06) !important;
  }
  .single-product .cosmod-similar__btn {
    width: 38px !important;
    height: 38px !important;
    border-color: #eadfd4 !important;
    color: #5e4934 !important;
    box-shadow: 0 3px 10px rgba(45, 34, 22, .08) !important;
  }
}
@media (max-width: 640px) {
  .single-product .cosmod-similar {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }
  .single-product .cosmod-similar__track {
    gap: 10px !important;
  }
  .single-product .cosmod-similar-card {
    flex: 0 0 46% !important;
    max-width: 46% !important;
    padding: 9px 8px 10px !important;
    border: 1px solid #eee5dc !important;
    border-radius: 12px !important;
    background: #fffdfa !important;
  }
  .single-product .cosmod-similar-card__img {
    aspect-ratio: 1.18 / 1 !important;
    margin-bottom: 7px !important;
    padding: 4px !important;
    border-radius: 8px !important;
  }
  .single-product .cosmod-similar-card__name {
    min-height: 3.6em !important;
    margin-bottom: 5px !important;
    font-size: 12px !important;
    line-height: 1.25 !important;
  }
  .single-product .cosmod-similar-card__price {
    margin-bottom: 7px !important;
    font-size: 14px !important;
  }
  .single-product .cosmod-similar-card__atc {
    min-height: 36px !important;
    padding: 8px 5px !important;
    border-radius: 6px !important;
    font-size: 9px !important;
    letter-spacing: .04em !important;
  }
  .single-product .cosmod-similar-card__heart {
    top: 7px !important;
    right: 7px !important;
    width: 28px !important;
    height: 28px !important;
  }
  .single-product .cosmod-similar-card__heart svg {
    width: 15px !important;
    height: 15px !important;
  }
  .single-product .cosmod-similar__heading .cosmod-similar__title {
    font-size: 21px !important;
  }
}

/* Align desktop recommendations with the main product content edges. */
@media (min-width: 641px) {
  .single-product .cosmod-similar {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}

/* COSMOD Épuré — approved desktop and mobile product design. */
body.single-product .cosmod-sp-wrap{color:#142c49;}
body.single-product .cosmod-sp{--accent:#142c49;--muted:#617087;--line:#e3e8ef;--surface:#fff;gap:32px;background:#fff;color:#142c49;border:1px solid #e3e8ef;box-shadow:0 5px 24px rgba(20,44,73,.035);border-radius:18px;padding:24px;}
body.single-product .cosmod-gallery .cosmod-main-img{background:#fff;border:1px solid #e3e8ef;border-radius:14px;}
body.single-product .cosmod-gallery .cosmod-nav button{border-color:#e3e8ef;color:#142c49;background:#fff;}
body.single-product .cosmod-thumbs{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;gap:8px;padding:2px 0;}
body.single-product .cosmod-thumbs .thumb{flex:1 0 0;min-width:0;background:#fff;border:1px solid #e3e8ef;border-radius:8px;}
body.single-product .cosmod-thumbs .thumb.active{border-color:#c9984d;box-shadow:0 0 0 1px #c9984d;}
body.single-product .cosmod-thumbs img{width:100%;height:auto;aspect-ratio:1;object-fit:contain;border-radius:7px;}
body.single-product .cosmod-info .title{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(28px,2.6vw,38px);font-weight:600;line-height:1.12;color:#142c49;}
body.single-product .cosmod-info .price{color:#142c49;font:700 28px/1.3 'DM Sans',Arial,sans-serif;margin:18px 0;}
body.single-product .cosmod-info .price ins{color:#142c49;background:transparent;font-weight:700;}
body.single-product .cosmod-info .price del{color:#9aa3af;font-size:18px;font-weight:400;}
body.single-product .cosmod-meta .badge--brand{background:#f3f5f8;color:#526074;}
body.single-product .cosmod-brief{color:#526074;font:400 14px/1.65 'DM Sans',Arial,sans-serif;margin:14px 0 18px;}
body.single-product #cv-wrap{margin-top:12px;margin-bottom:8px;}
body.single-product #cv-wrap .cv-label{color:#142c49;font:600 13px/1.4 'DM Sans',Arial,sans-serif;margin-bottom:8px;}
body.single-product #cv-wrap #cv-toggle{border:1px solid #e3e8ef;background:#fff;color:#142c49;border-radius:10px;min-height:56px;padding:10px 14px;font:500 13px/1.4 'DM Sans',Arial,sans-serif;box-shadow:none;}
body.single-product #cv-wrap .cv-toggle-name{color:#142c49;}
body.single-product #cv-wrap .cv-toggle-check{display:none;}
body.single-product #cv-wrap .cv-dropdown{border-color:#e3e8ef;background:#fff;border-radius:10px;}
body.single-product .cosmod-qty{gap:0;width:116px!important;flex:0 0 116px!important;margin:0 12px 0 0!important;border:1px solid #e3e8ef;border-radius:9px;overflow:hidden;}
body.single-product .cosmod-qty button,body.single-product .cosmod-qty input.qty{border:0;border-radius:0;height:50px;background:#fff;color:#142c49;width:38px;min-width:0;padding:0;}
body.single-product .cosmod-sp .cosmod-info button.button.add-to-cart{flex:1 1 150px!important;width:auto!important;min-height:50px!important;height:50px!important;margin:0!important;padding:0 16px!important;border-radius:9px!important;background:#142c49!important;color:#fff!important;font:600 11px/1.3 'DM Sans',Arial,sans-serif!important;letter-spacing:.035em!important;gap:10px!important;box-shadow:none!important;}
body.single-product .cosmod-sp .cosmod-info button.button.add-to-cart:before,body.single-product .cosmod-sp .cosmod-info button.button.add-to-cart:after{content:none!important;display:none!important;}
body.single-product .cosmod-sp .cosmod-info button.button.add-to-cart:hover{background:#203e61!important;opacity:1!important;}
body.single-product .cosmod-quick-facts{background:#fff;border:1px solid #e3e8ef;border-radius:10px;padding:16px 18px;margin:18px 0 0;color:#142c49;}
body.single-product .cosmod-quick-facts h2{font:600 23px/1.2 'Cormorant Garamond',Georgia,serif;color:#142c49;}
body.single-product .cosmod-quick-facts dl>div{border-color:#e3e8ef;}
body.single-product .cosmod-quick-facts dt{color:#617087;}
body.single-product .cosmod-quick-facts dd{color:#142c49;}
body.single-product .cosmod-detail{border:1px solid #e3e8ef!important;background:#fff!important;color:#142c49!important;box-shadow:none!important;border-radius:10px!important;}
body.single-product .cosmod-detail>summary{min-height:58px!important;}
body.single-product .cosmod-detail>summary>svg{stroke:#142c49!important;}
body.single-product .cosmod-detail>summary>i{border-color:#142c49!important;}
body.single-product .cosmod-detail__heading{color:#142c49!important;font:600 21px/1.3 'Cormorant Garamond',Georgia,serif!important;}
body.single-product .cosmod-detail>summary:hover{background:#f8fafc;}
body.single-product .cosmod-detail__body{color:#526074!important;}
body.single-product .cosmod-trust{background:#fafbfd!important;border:1px solid #e3e8ef!important;color:#142c49!important;border-radius:12px;box-shadow:none;}
body.single-product .cosmod-trust__icon{color:#c9984d;}
body.single-product .cosmod-trust__item{color:#142c49;font:400 13px/1.5 'DM Sans',Arial,sans-serif;min-height:100px;}
body.single-product .cosmod-trust__item+.cosmod-trust__item{border-color:#e3e8ef!important;}
body.single-product .cosmod-similar__title{color:#142c49;font-family:'Cormorant Garamond',Georgia,serif;}
body.single-product .cosmod-similar__heading{border-color:#e3e8ef;}
body.single-product .cosmod-similar__more{color:#142c49;}
body.single-product .cosmod-similar-card{background:#fff!important;border-color:#e3e8ef!important;}
body.single-product .cosmod-similar-card__name,body.single-product .cosmod-similar-card__price{color:#142c49;}
body.single-product .cosmod-similar-card__atc{background:#142c49!important;color:#fff!important;}
@media(max-width:767px){
body.single-product .cosmod-sp{grid-template-columns:minmax(0,1fr)!important;padding:14px!important;gap:20px!important;border-radius:14px!important;}
body.single-product .cosmod-info{text-align:left!important;}
body.single-product .cosmod-info .title{font-size:34px!important;text-align:left!important;}
body.single-product .cosmod-info .price{text-align:left!important;font-size:28px!important;}
body.single-product .cosmod-meta{justify-content:flex-start!important;}
body.single-product .cosmod-qty{width:104px!important;flex-basis:104px!important;margin:0 10px 0 0!important;}
body.single-product .cosmod-qty button,body.single-product .cosmod-qty input.qty{width:34px!important;}
body.single-product .cosmod-sp .cosmod-info button.button.add-to-cart{flex:1 1 130px!important;width:auto!important;min-width:0!important;padding:0 10px!important;font-size:10px!important;}
body.single-product .cosmod-detail__heading{font-size:20px!important;}
body.single-product .cosmod-trust{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;padding:8px 0!important;}
body.single-product .cosmod-trust__item{flex-direction:column!important;justify-content:center!important;text-align:center!important;gap:7px!important;padding:10px 7px!important;font:400 10px/1.4 'DM Sans',Arial,sans-serif!important;min-height:95px!important;}
body.single-product .cosmod-trust__item+.cosmod-trust__item{border-top:0!important;border-left:1px solid #e3e8ef!important;}
body.single-product .cosmod-trust__icon{color:#c9984d;width:24px!important;height:24px!important;}
}

body.single-product .epure-brand{display:block;font:600 14px/1.4 'DM Sans',Arial,sans-serif;text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px;} body.single-product .epure-name{display:block;} body.single-product .epure-variant{display:block;font:500 23px/1.3 'Cormorant Garamond',Georgia,serif;margin-top:5px;} body.single-product .cosmod-gallery .cosmod-thumbs .thumb.active{border-color:#c9984d!important;box-shadow:0 0 0 1px #c9984d!important;} body.single-product .cosmod-like{color:#142c49!important;border-color:#e3e8ef!important;} @media(max-width:767px){body.single-product .cosmod-thumbs .thumb{flex:0 0 calc((100% - 32px)/5)!important;max-width:calc((100% - 32px)/5)!important;}body.single-product #cv-wrap .cv-label{text-align:left!important;}}

body.single-product .cosmod-brief{ text-align:left!important; } body.single-product .cosmod-sp .cosmod-info button.button.add-to-cart{font-size:11px!important;}


/* COSMOD review summary and visible review stars */
body.single-product .cosmod-info .cosmod-review-summary{display:inline-flex;align-items:center;gap:9px;margin:8px 0 5px;padding:8px 13px;border:1px solid #eadfce;border-radius:999px;background:#fbf8f2;color:#17324f;cursor:pointer;font:inherit;line-height:1.2;transition:background-color .2s ease,border-color .2s ease,transform .2s ease;}
body.single-product .cosmod-info .cosmod-review-summary:hover{background:#f5eee2;border-color:#d4b779;transform:translateY(-1px);}
body.single-product .cosmod-review-summary .star-rating{float:none;display:inline-block;margin:0;color:#c99a3b;font-size:15px;letter-spacing:1px;}
body.single-product .cosmod-review-summary .star-rating:before{color:#d9cfbe;}
body.single-product .cosmod-review-summary .star-rating span:before{color:#c99a3b;}
body.single-product .cosmod-review-summary__count{color:#17324f;font-size:13px;font-weight:600;}
body.single-product .cosmod-detail__body #reviews .star-rating{color:#c99a3b;}
body.single-product .cosmod-detail__body #reviews .star-rating:before{color:#d9cfbe;}
body.single-product .cosmod-detail__body #reviews .star-rating span:before{color:#c99a3b;}
@media(max-width:767px){body.single-product .cosmod-info .cosmod-review-summary{margin:7px 0 4px;padding:7px 11px;}body.single-product .cosmod-review-summary .star-rating{font-size:14px;}}
