/*
Theme Name: Cotton Perfect
Theme URI: https://cottonperfect.gr
Description: Cotton Perfect redesign (child of Fashionable Store) by Blue Mint.
Author: Blue Mint
Author URI: https://bluemint.gr
Template: fashionable-store
Version: 1.0.0
Text Domain: cottonperfect
*/

/* ============================================================ tokens */
:root{
  --cp-blue:#2555A6; --cp-blue-d:#1D4589; --cp-sky:#BAE3F6; --cp-sky-50:#EEF8FD;
  --cp-lav:#8293CA; --cp-lav-50:#ECEEF8; --cp-pink:#F2D3E5; --cp-pink-50:#FBF1F6;
  --cp-ink:#17264A; --cp-text:#3C4663; --cp-muted:#5A6278; --cp-line:#E4E6EE; --cp-field:#C9CEDD;
  --cp-bg:#FBFAF7; --cp-white:#fff; --cp-ok:#1F7A4D; --cp-err:#B3261E;
  --cp-r-sm:12px; --cp-r:20px; --cp-r-lg:28px;
  --cp-shadow:0 18px 40px rgba(23,38,74,.12);
  --cp-head:'Commissioner',system-ui,-apple-system,'Segoe UI',sans-serif;
  --cp-body:'Manrope',system-ui,-apple-system,'Segoe UI',sans-serif;
}

/* ============================================================ base */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--cp-bg);color:var(--cp-ink);font-family:var(--cp-body);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto}
a{color:var(--cp-blue);text-underline-offset:3px}
a:hover{color:var(--cp-blue-d)}
h1,h2,h3,h4,h5,h6{font-family:var(--cp-head);color:var(--cp-ink);line-height:1.15;margin:0 0 .5em;font-weight:800;letter-spacing:-.01em}
h1{font-size:clamp(32px,5vw,58px)} h2{font-size:clamp(26px,3.2vw,40px)} h3{font-size:clamp(19px,2vw,22px);font-weight:700}
p{margin:0 0 1em}
:focus-visible{outline:3px solid var(--cp-blue);outline-offset:2px;border-radius:6px}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.cp-skip{position:absolute;left:12px;top:-60px;background:var(--cp-blue);color:#fff;padding:10px 16px;border-radius:999px;z-index:1000;font-weight:700}
.cp-skip:focus{top:12px;color:#fff}
.cp-wrap{max-width:1240px;margin:0 auto;padding:0 32px}
@media (max-width:640px){.cp-wrap{padding:0 18px}}
.cp-main{display:block;min-height:50vh}
.cp-stitch{border:0;border-top:2px dashed var(--cp-lav);opacity:.6;margin:8px 0}
.cp-eyebrow{color:var(--cp-blue);font-weight:700;margin:0 0 8px}
.cp-lead{font-size:clamp(16px,1.6vw,19px);line-height:1.6;color:var(--cp-text);margin:0}
.cp-pill{align-self:flex-start;display:inline-block;background:#fff;color:var(--cp-blue);font-weight:700;font-size:14px;padding:8px 16px;border-radius:999px;border:1px solid var(--cp-sky)}
.cp-stack{display:flex;flex-direction:column;gap:18px}

/* buttons (theme + WooCommerce) */
.cp-btn,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit,
.wp-block-button__link,.wpcf7-submit,.woocommerce a.button.alt,.woocommerce button.button.alt{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 26px;border-radius:999px;border:2px solid var(--cp-blue);
  background:var(--cp-blue);color:#fff;font-family:var(--cp-body);font-weight:700;font-size:16px;line-height:1.2;text-decoration:none;cursor:pointer;transition:background .15s,border-color .15s}
.cp-btn:hover,.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,.wp-block-button__link:hover,.wpcf7-submit:hover,
.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover{background:var(--cp-blue-d);border-color:var(--cp-blue-d);color:#fff}
.cp-btn--g{background:#fff;color:var(--cp-blue)}
.cp-btn--g:hover{background:var(--cp-sky-50);color:var(--cp-blue-d)}
.woocommerce button.button:disabled,.woocommerce button.button:disabled[disabled]{background:var(--cp-field);border-color:var(--cp-field);color:#fff;opacity:1}
.cp-btnrow{display:flex;gap:14px;flex-wrap:wrap}

/* forms */
input[type=text],input[type=email],input[type=tel],input[type=number],input[type=password],input[type=search],input[type=url],select,textarea,
.woocommerce form .form-row .input-text,.woocommerce form .form-row select,.select2-container .select2-selection--single{
  width:100%;min-height:48px;border:1px solid var(--cp-field);border-radius:var(--cp-r-sm);padding:10px 14px;font:inherit;font-size:16px;color:var(--cp-ink);background:#fff}
textarea{min-height:110px}
.select2-container .select2-selection--single{display:flex;align-items:center}
.select2-container--default .select2-selection--single .select2-selection__arrow{height:46px}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--cp-blue);box-shadow:0 0 0 3px rgba(37,85,166,.18)}
label{font-weight:600;font-size:14px}
.woocommerce form .form-row{margin:0 0 14px;padding:0}
.woocommerce form .form-row label{margin-bottom:6px;display:block}
.woocommerce form .form-row .required{color:var(--cp-err);text-decoration:none}

/* ============================================================ top bar + header */
.cp-topbar{background:var(--cp-blue);color:#fff;font-size:14px;font-weight:600}
.cp-topbar__row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 24px;padding-top:8px;padding-bottom:8px}
.cp-topbar a{color:#fff}
@media (max-width:760px){.cp-topbar{font-size:12px;text-align:center}.cp-topbar__row{justify-content:center}.cp-topbar__contact{display:none}}
.cp-header{background:#fff;border-bottom:1px solid var(--cp-line);position:sticky;top:0;z-index:100}
.admin-bar .cp-header{top:32px}
@media (max-width:782px){.admin-bar .cp-header{top:0;position:relative}}
.cp-header__row{display:flex;align-items:center;gap:24px;padding-top:14px;padding-bottom:12px}
.cp-logo{flex-shrink:0;display:block;line-height:0}
.cp-logo img{height:44px;width:auto}
.cp-search{flex:1;display:flex;align-items:center;gap:10px;background:#F3F5FA;border-radius:999px;padding:0 18px;min-height:46px;color:var(--cp-muted);min-width:0}
.cp-search input[type=search]{border:0;background:transparent;box-shadow:none;min-height:44px;padding:0;font-size:15px}
.cp-search:focus-within{box-shadow:0 0 0 3px rgba(37,85,166,.25)}
.cp-actions{display:flex;align-items:center;gap:4px}
.cp-iconbtn{width:44px;height:44px;border-radius:999px;border:0;background:transparent;display:inline-flex;align-items:center;justify-content:center;color:var(--cp-ink);cursor:pointer;padding:0}
.cp-iconbtn:hover{background:var(--cp-sky-50);color:var(--cp-blue)}
.cp-lang{font-weight:800;font-size:14px;color:var(--cp-ink);text-decoration:none;min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px}
.cp-lang:hover{background:var(--cp-sky-50)}
.cp-cartbtn{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;border-radius:999px;background:var(--cp-blue);color:#fff;font-weight:700;font-size:15px;text-decoration:none;margin-left:4px}
.cp-cartbtn:hover{background:var(--cp-blue-d);color:#fff}
.cp-cart-count{background:#fff;color:var(--cp-blue);border-radius:999px;min-width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;padding:0 6px}
.cp-burger{display:none}
.cp-nav{padding-bottom:6px}
.cp-menu{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px 26px}
.cp-menu a{display:inline-block;color:var(--cp-ink);text-decoration:none;font-weight:600;font-size:15px;padding:8px 0;border-bottom:3px solid transparent}
.cp-menu a:hover,.cp-menu .current-menu-item>a,.cp-menu .current-product_cat-ancestor>a,.cp-menu .current-menu-ancestor>a{color:var(--cp-blue);border-bottom-color:var(--cp-blue)}
.cp-menu .cp-menu-accent a,.cp-menu .menu-item-accent a{color:var(--cp-blue)}
@media (max-width:960px){
  .cp-burger{display:inline-flex}
  .cp-nav{display:none}
  .cp-header__row{flex-wrap:wrap;gap:8px 6px;padding-top:10px;padding-bottom:10px}
  .cp-logo{flex:1}
  .cp-logo img{height:32px}
  .cp-search{order:5;flex:1 1 100%;min-height:42px}
  .cp-cartbtn__label,.cp-actions .cp-lang{display:none}
  .cp-cartbtn{padding:0 12px}
}
/* desktop dropdowns */
.cp-nav .cp-menu>li{position:relative}
.cp-nav .cp-menu>.menu-item-has-children>a::after{content:'';display:inline-block;width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);margin:0 0 3px 8px;opacity:.6}
.cp-nav .sub-menu{list-style:none;margin:0;padding:10px;position:absolute;left:-14px;top:100%;min-width:250px;background:#fff;border:1px solid var(--cp-line);border-radius:18px;box-shadow:var(--cp-shadow);opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .15s,transform .15s,visibility .15s;z-index:120}
.cp-nav .cp-menu>li:hover>.sub-menu,.cp-nav .cp-menu>li.is-open>.sub-menu,.cp-nav .cp-menu>li:focus-within>.sub-menu{opacity:1;visibility:visible;transform:none}
.cp-nav .sub-menu a{display:block;padding:9px 14px;border-radius:10px;border-bottom:0;font-size:15px;font-weight:600}
.cp-nav .sub-menu a:hover,.cp-nav .sub-menu .current-menu-item>a{background:var(--cp-sky-50);color:var(--cp-blue)}
.cp-nav .sub-menu .sub-menu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;padding:0 0 0 12px;min-width:0}
.cp-nav .sub-menu .sub-menu a{font-weight:500;font-size:14px;color:var(--cp-muted);padding:6px 14px}
.cp-nav .cp-menu>li:last-child>.sub-menu,.cp-nav .cp-menu>li:nth-last-child(2)>.sub-menu{left:auto;right:-14px}
/* drawer */
.cp-drawer{position:fixed;inset:0;z-index:999;background:rgba(23,38,74,.45)}
.cp-drawer[hidden]{display:none}
.cp-drawer__panel{position:absolute;left:0;top:0;bottom:0;width:min(86vw,360px);background:#fff;display:flex;flex-direction:column;overflow:auto;box-shadow:var(--cp-shadow)}
.cp-drawer__head{display:flex;align-items:center;justify-content:space-between;padding:14px 14px 14px 20px;border-bottom:1px solid var(--cp-line)}
.cp-drawer__head img{height:28px;width:auto}
.cp-menu--drawer{flex-direction:column;gap:0;padding:8px 0}
.cp-menu--drawer a{display:block;padding:14px 22px;border-bottom:0;font-size:17px}
.cp-menu--drawer a:hover{background:var(--cp-sky-50)}
.cp-drawer__foot{margin-top:auto;padding:18px 22px;border-top:1px solid var(--cp-line);display:flex;flex-direction:column;gap:12px;font-weight:700}
.cp-drawer__foot .cp-lang{justify-content:flex-start;min-width:0}
body.cp-locked{overflow:hidden}
.cp-drawer,.cp-mc{opacity:0;transition:opacity .25s}
.cp-drawer.is-open,.cp-mc.is-open{opacity:1}
.cp-drawer__panel{transform:translateX(-100%);transition:transform .25s ease}
.cp-drawer.is-open .cp-drawer__panel{transform:none}
.cp-menu--drawer li{position:relative}
.cp-menu--drawer .menu-item-has-children>a{padding-right:64px}
.cp-subtoggle{position:absolute;right:10px;top:4px;width:44px;height:44px;border:0;border-radius:999px;background:transparent;color:var(--cp-ink);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}
.cp-subtoggle:hover{background:var(--cp-sky-50)}
.cp-subtoggle[aria-expanded="true"] svg{transform:rotate(180deg)}
.cp-menu--drawer .sub-menu{list-style:none;margin:0;padding:0 0 8px;background:#F7F9FD}
.cp-menu--drawer .sub-menu a{padding:11px 22px 11px 36px;font-size:16px;font-weight:600}
.cp-menu--drawer .sub-menu .sub-menu{background:transparent;padding:0}
.cp-menu--drawer .sub-menu .sub-menu a{padding-left:52px;font-weight:500;color:var(--cp-muted)}
.cp-menu--drawer .sub-menu .cp-subtoggle{top:0}

/* side cart */
.cp-mc{position:fixed;inset:0;z-index:999;background:rgba(23,38,74,.45)}
.cp-mc[hidden]{display:none}
.cp-mc__panel{position:absolute;right:0;top:0;bottom:0;width:min(92vw,420px);background:#fff;display:flex;flex-direction:column;box-shadow:var(--cp-shadow);transform:translateX(100%);transition:transform .25s ease}
.cp-mc.is-open .cp-mc__panel{transform:none}
.cp-mc__head{display:flex;align-items:center;justify-content:space-between;padding:16px 16px 16px 24px;border-bottom:1px solid var(--cp-line)}
.cp-mc__head h2{font-size:22px;margin:0}
.cp-mc .widget_shopping_cart_content{flex:1;overflow:auto;padding:8px 24px 16px;display:flex;flex-direction:column}
.cp-mc ul.woocommerce-mini-cart{list-style:none;margin:0;padding:0}
.cp-mc .woocommerce-mini-cart-item{position:relative;display:grid;grid-template-columns:72px 1fr;grid-template-rows:auto auto;column-gap:14px;padding:16px 36px 16px 0;border-bottom:1px solid var(--cp-line);font-size:15px}
.cp-mc .woocommerce-mini-cart-item>a:not(.remove){grid-column:1 / -1;display:grid;grid-template-columns:72px 1fr;column-gap:14px;align-items:center;font-weight:700;color:var(--cp-ink);text-decoration:none;line-height:1.3}
.cp-mc .woocommerce-mini-cart-item img{width:72px!important;height:72px!important;object-fit:cover;border-radius:14px;grid-row:span 2;margin:0!important;float:none!important}
.cp-mc .woocommerce-mini-cart-item .quantity{grid-column:2;color:var(--cp-muted);font-size:14px;margin-top:-18px}
.cp-mc .woocommerce-mini-cart-item .quantity .amount{color:var(--cp-ink);font-weight:700}
.cp-mc .woocommerce-mini-cart-item dl.variation{grid-column:2;font-size:13px;color:var(--cp-muted);margin:4px 0}
.cp-mc a.remove{position:absolute;right:0;top:16px;width:30px;height:30px;line-height:28px;text-align:center;border-radius:999px;color:var(--cp-err)!important;font-size:20px;text-decoration:none}
.cp-mc a.remove:hover{background:var(--cp-err);color:#fff!important}
.cp-mc .woocommerce-mini-cart__total{display:flex;justify-content:space-between;align-items:baseline;margin:18px 0 14px;padding-top:4px;font-size:16px}
.cp-mc .woocommerce-mini-cart__total .amount{font-family:var(--cp-head);font-weight:800;font-size:22px}
.cp-mc .woocommerce-mini-cart__buttons{display:flex;flex-direction:column-reverse;gap:10px;margin:0}
.cp-mc .woocommerce-mini-cart__buttons .button{width:100%;margin:0!important}
.cp-mc .woocommerce-mini-cart__buttons .button:not(.checkout){background:#fff;color:var(--cp-blue)}
.cp-mc .woocommerce-mini-cart__buttons .button:not(.checkout):hover{background:var(--cp-sky-50)}
.cp-mc .woocommerce-mini-cart__empty-message{margin:32px 0;text-align:center;color:var(--cp-muted);font-size:16px}
.cp-mc__help{margin:0;padding:14px 24px 20px;border-top:1px solid var(--cp-line);font-size:14px;color:var(--cp-muted);text-align:center}
.cp-mc .blockUI.blockOverlay{background:rgba(255,255,255,.6)!important}
.woocommerce a.added_to_cart{display:none!important}

/* ============================================================ homepage */
.cp-hero{background:var(--cp-sky-50);overflow:hidden}
.cp-hero__grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:56px;align-items:center;padding-top:72px;padding-bottom:84px}
.cp-hero__text{display:flex;flex-direction:column;gap:24px}
.cp-hero__text h1{margin:0;line-height:1.05;letter-spacing:-.02em}
.cp-hero__art{position:relative;height:500px}
.cp-blob{position:absolute;border-radius:999px}
.cp-blob--pink{right:-60px;top:-30px;width:300px;height:300px;background:var(--cp-pink)}
.cp-blob--lav{left:10px;bottom:-40px;width:200px;height:200px;background:var(--cp-lav);opacity:.55}
.cp-hero__a,.cp-hero__b{position:absolute;object-fit:cover;border-radius:var(--cp-r-lg);box-shadow:var(--cp-shadow)}
.cp-hero__a{left:0;top:30px;width:62%;height:330px}
.cp-hero__b{right:0;bottom:10px;width:50%;height:340px;border:8px solid #fff}
@media (max-width:900px){
  .cp-hero__grid{grid-template-columns:1fr;gap:28px;padding-top:36px;padding-bottom:44px}
  .cp-hero__art{height:300px}
  .cp-hero__a{height:220px;top:0}.cp-hero__b{height:230px;bottom:0}
  .cp-blob--pink{width:200px;height:200px}
}
.cp-trust{background:#fff;border-bottom:1px solid var(--cp-line)}
.cp-trust__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;padding-top:28px;padding-bottom:28px}
.cp-trust__grid>div{display:flex;gap:14px;align-items:center}
.cp-trust p{margin:0;display:flex;flex-direction:column;line-height:1.35}
.cp-trust span:not(.cp-ico){color:var(--cp-muted);font-size:14px}
.cp-ico{width:48px;height:48px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--cp-blue)}
.cp-ico--sky{background:var(--cp-sky-50)}.cp-ico--pink{background:var(--cp-pink-50)}.cp-ico--lav{background:var(--cp-lav-50)}
@media (max-width:900px){.cp-trust__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}}
@media (max-width:480px){.cp-trust__grid{grid-template-columns:1fr}}
.cp-section{padding-top:88px;padding-bottom:40px}
.cp-section--tight{padding-top:56px;padding-bottom:88px}
.cp-sechead{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:30px}
.cp-sechead h2{margin:0}
.cp-more{font-weight:700}
.cp-rooms{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:240px;gap:18px}
.cp-room{position:relative;display:block;border-radius:22px;overflow:hidden;background:var(--cp-sky-50);text-decoration:none}
.cp-room img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s}
.cp-room:hover img{transform:scale(1.04)}
.cp-room span{position:absolute;left:14px;bottom:14px;background:#fff;color:var(--cp-ink);font-family:var(--cp-head);font-weight:700;font-size:17px;padding:9px 16px;border-radius:999px;box-shadow:0 4px 14px rgba(23,38,74,.12)}
.cp-room--0{grid-row:span 2}
.cp-room--2{grid-column:span 2}
.cp-room--6{grid-column:1 / -1;height:140px}
.cp-room--6 img{object-position:center 40%}
@media (max-width:900px){.cp-rooms{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:170px;gap:12px}.cp-room--0{grid-row:auto}.cp-room--2{grid-column:auto}.cp-room--6{grid-column:1 / -1;height:120px}.cp-room span{font-size:15px;padding:7px 12px}}
.cp-custom{background:var(--cp-pink-50)}
.cp-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:center}
.cp-custom .cp-split{padding-top:80px;padding-bottom:80px}
.cp-custom h2,.cp-story h2,.cp-faqwrap h2{margin:0;line-height:1.1}
.cp-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}
.cp-steps li{display:flex;gap:14px;align-items:flex-start;padding-top:2px}
.cp-steps li span{width:34px;height:34px;border-radius:99px;background:var(--cp-blue);color:#fff;font-weight:800;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:-4px}
.cp-formcard{background:#fff;border-radius:var(--cp-r-lg);padding:32px;box-shadow:var(--cp-shadow)}
.cp-formcard h3{margin:0 0 14px}
.cp-formcard__alt{margin:14px 0 0;text-align:center;font-size:14px;color:var(--cp-muted)}
.cp-story{padding-bottom:96px}
.cp-story__img{position:relative}
.cp-story__img img{width:100%;height:440px;object-fit:cover;border-radius:var(--cp-r-lg);display:block}
.cp-story__badge{position:absolute;right:-18px;bottom:-22px;background:var(--cp-blue);color:#fff;border-radius:22px;padding:18px 22px;max-width:250px;display:flex;flex-direction:column}
.cp-story__badge strong{font-family:var(--cp-head);font-size:20px}
.cp-story__badge span{font-size:14px;opacity:.92}
.cp-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.cp-values strong{font-family:var(--cp-head);font-size:18px;display:block;margin-bottom:4px}
.cp-values span{color:var(--cp-muted);font-size:15px}
.cp-faqwrap{background:#fff;border-top:1px solid var(--cp-line)}
.cp-split--faq{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:start;padding-top:88px;padding-bottom:88px}
.cp-faq details{border-bottom:1px solid var(--cp-line);padding:18px 0}
.cp-faq summary{cursor:pointer;font-weight:700;font-size:17px;list-style:none;display:flex;justify-content:space-between;gap:16px;align-items:center}
.cp-faq summary::-webkit-details-marker{display:none}
.cp-faq summary::after{content:'+';font-size:24px;color:var(--cp-blue);font-weight:600;line-height:1}
.cp-faq details[open] summary::after{content:'−'}
.cp-faq details p{margin:12px 0 0;color:var(--cp-text)}
@media (max-width:900px){
  .cp-split,.cp-split--faq{grid-template-columns:1fr;gap:32px}
  .cp-custom .cp-split{padding-top:48px;padding-bottom:48px}
  .cp-section{padding-top:56px}
  .cp-story__img img{height:260px}.cp-story__badge{right:10px;bottom:-18px}
  .cp-values{grid-template-columns:1fr}
  .cp-split--faq{padding-top:56px;padding-bottom:56px}
  .cp-formcard{padding:22px}
}

/* CF7 inside the custom-size card */
.wpcf7 form{display:flex;flex-direction:column;gap:14px}
.wpcf7 form p{margin:0}
.wpcf7 label{display:flex;flex-direction:column;gap:6px}
.cp-cf-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.wpcf7-form-control-wrap{display:block}
.wpcf7 input:not([type=submit]),.wpcf7 select,.wpcf7 textarea{width:100%}
.cp-menu .menu-item-accent>a{border-bottom-color:transparent!important}
.cp-menu .menu-item-accent>a:hover{border-bottom-color:var(--cp-blue)!important}
@media (max-width:520px){.cp-cf-row{grid-template-columns:1fr!important}}
.wpcf7-submit{width:100%}
.wpcf7-not-valid-tip{color:var(--cp-err);font-size:13px;margin-top:4px}
.wpcf7 form .wpcf7-response-output{margin:0;border-radius:var(--cp-r-sm);padding:12px 14px;font-size:14px}
.wpcf7-spinner{margin:8px auto 0;display:block}

/* ============================================================ footer */
.cp-footer{background:var(--cp-ink);color:#D6DCEB;margin-top:0}
.cp-footer a{color:#D6DCEB}
.cp-footer a:hover{color:#fff}
.cp-footer__grid{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr));gap:40px;padding-top:64px;padding-bottom:36px}
.cp-footer__logo{display:inline-block;background:#fff;border-radius:16px;padding:12px 16px;line-height:0;margin-bottom:16px}
.cp-footer__logo img{height:34px;width:auto}
.cp-footer__brand p{font-size:15px;line-height:1.7}
.cp-footer__h{color:#fff;font-size:16px;font-weight:700;margin:0 0 12px}
.cp-footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;font-size:15px}
.cp-footer__bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px;align-items:center;padding:20px 0 28px;font-size:13px}
.cp-credit{margin:0;padding:16px 0 24px;border-top:1px solid rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;gap:10px;font-size:12px;letter-spacing:.02em}
.cp-credit span{opacity:.7}
.cp-credit a{display:inline-flex;line-height:0;opacity:.9;transition:opacity .15s}
.cp-credit a:hover,.cp-credit a:focus-visible{opacity:1}
.cp-credit img{height:20px;width:auto;display:block}
.cp-espa{display:inline-block;background:#fff;border-radius:10px;padding:6px;line-height:0}
.cp-espa img{height:64px;width:auto}
@media (max-width:900px){.cp-footer__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cp-footer__brand{grid-column:1 / -1}}
@media (max-width:480px){.cp-footer__grid{grid-template-columns:1fr}.cp-espa img{height:52px}}

/* ============================================================ generic pages */
.cp-pagehead{background:var(--cp-sky-50);position:relative;overflow:hidden}
.cp-pagehead::after{content:'';position:absolute;right:-80px;top:-120px;width:340px;height:340px;border-radius:999px;background:var(--cp-pink);z-index:0}
.cp-pagehead .cp-wrap{position:relative;z-index:1;padding-top:44px;padding-bottom:44px}
.cp-pagehead h1{margin:0}
.cp-pagehead--slim .cp-wrap{padding-top:28px;padding-bottom:28px}
.cp-pagehead--slim h1{font-size:clamp(28px,3.5vw,40px)}
.cp-page{padding-top:44px;padding-bottom:88px}
.cp-prose{max-width:860px}
.cp-prose h2{font-size:clamp(22px,2.6vw,30px);margin-top:1.4em}
.cp-prose h3{margin-top:1.2em}
.cp-prose ul,.cp-prose ol{padding-left:1.3em}
.cp-prose img{border-radius:var(--cp-r)}
.cp-prose:has(.cp-split){max-width:none}
.cp-prose .cp-split h2{margin-top:0}
.cp-prose>.cp-faq{max-width:860px}
/* neutralise the old Bulma/Bootstrap markup that still lives inside old page content */
.cp-page .columns{display:flex;flex-wrap:wrap;gap:24px;margin:0}
.cp-page .column{flex:1 1 260px;min-width:0}
.cp-page .title{font-family:var(--cp-head);font-weight:800}

/* ============================================================ shop: archive */
.cp-shop{padding-bottom:88px}
.woocommerce-breadcrumb{font-size:14px;color:var(--cp-muted);padding:22px 0 0;margin:0}
.woocommerce-breadcrumb a{color:var(--cp-blue)}
.woocommerce-breadcrumb .sep{margin:0 8px;color:var(--cp-field)}
.woocommerce-products-header{background:var(--cp-sky-50);box-shadow:0 0 0 100vmax var(--cp-sky-50);clip-path:inset(0 -100vmax);padding:18px 0 34px;margin:0 0 36px;position:relative}
.cp-shop--archive .woocommerce-breadcrumb{background:var(--cp-sky-50);box-shadow:0 0 0 100vmax var(--cp-sky-50);clip-path:inset(0 -100vmax)}
.woocommerce-products-header__title.page-title{margin:0 0 10px;font-size:clamp(32px,4.2vw,48px)}
.term-description{font-size:18px;color:var(--cp-text);max-width:640px}
.term-description p:last-child{margin:0}
.cp-chips{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.cp-chip{display:inline-flex;align-items:center;min-height:40px;padding:0 16px;border-radius:999px;background:#fff;border:1px solid var(--cp-field);color:var(--cp-ink);font-weight:600;font-size:14px;text-decoration:none}
.cp-chip:hover{border-color:var(--cp-blue);color:var(--cp-blue)}
.cp-chip.is-on{background:var(--cp-blue);border-color:var(--cp-blue);color:#fff}
/* shop page: intro + room strip + closing banner */
.post-type-archive-product .woocommerce-products-header{overflow:hidden}
.post-type-archive-product .woocommerce-products-header::after{content:"";position:absolute;right:-60px;top:-90px;width:260px;height:260px;border-radius:50%;background:linear-gradient(90deg,var(--cp-sky) 50%,var(--cp-pink) 50%);opacity:.55;pointer-events:none}
.cp-shop-lede{font-size:18px;color:var(--cp-text);max-width:620px;margin:0 0 22px;position:relative;z-index:1}
.cp-roomstrip{position:relative;z-index:1}
.cp-roomstrip ul{list-style:none;margin:0;padding:0;display:flex;gap:12px;flex-wrap:wrap}
.cp-roomstrip a{display:flex;align-items:center;gap:10px;padding:6px 18px 6px 6px;min-height:56px;background:#fff;border:1px solid var(--cp-line);border-radius:999px;text-decoration:none;color:var(--cp-ink);font-weight:700;font-size:15px;transition:border-color .15s,transform .15s,box-shadow .15s}
.cp-roomstrip a:hover{border-color:var(--cp-blue);color:var(--cp-blue);transform:translateY(-1px);box-shadow:0 8px 18px -12px rgba(23,38,74,.4)}
.cp-roomstrip img{width:44px;height:44px;border-radius:50%;object-fit:cover;flex:none}
.cp-roomstrip__ico{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--cp-pink);color:#8A2D55;flex:none}
.cp-roomstrip__custom a{background:var(--cp-pink-50);border-color:var(--cp-pink)}
.cp-shopcta{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;margin:40px 0 10px;padding:30px 34px;border-radius:var(--cp-r-lg);background:linear-gradient(110deg,var(--cp-pink-50),#fff 50%,var(--cp-sky-50));border:1px solid var(--cp-line)}
.cp-shopcta h2{font-size:clamp(22px,2.4vw,28px);margin:0 0 6px}
.cp-shopcta p{margin:0;color:var(--cp-text);max-width:56ch}
.woocommerce ul.products li.product-category mark.count,.woocommerce ul.products li.product-category .count{background:none;color:var(--cp-muted);font-weight:600;font-size:.85em}
@media (max-width:700px){.woocommerce .woocommerce-ordering,.woocommerce .woocommerce-result-count{float:none;width:100%;margin:0 0 12px}.woocommerce .woocommerce-ordering select{width:100%;max-width:100%;box-sizing:border-box}.cp-roomstrip ul{flex-wrap:nowrap;overflow-x:auto;padding-bottom:6px;margin-right:-20px;scrollbar-width:none}.cp-roomstrip ul::-webkit-scrollbar{display:none}.cp-roomstrip a{white-space:nowrap}.cp-shopcta{padding:24px}.post-type-archive-product .woocommerce-products-header::after{width:160px;height:160px;right:-60px;top:-60px}}
.woocommerce .woocommerce-result-count{color:var(--cp-muted);font-weight:600;margin:10px 0 22px}
.woocommerce .woocommerce-ordering{margin:0 0 22px}
.woocommerce .woocommerce-ordering select{border-radius:999px;min-height:44px;width:auto;padding-right:36px}
.woocommerce ul.products{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin:0 0 30px!important;padding:0;list-style:none;clear:both}
.woocommerce ul.products.columns-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.woocommerce ul.products::before,.woocommerce ul.products::after{display:none!important}
.woocommerce ul.products li.product{width:auto!important;float:none!important;margin:0!important;background:#fff;border:1px solid var(--cp-line);border-radius:var(--cp-r);overflow:hidden;display:flex;flex-direction:column;padding:0 0 18px!important;position:relative;transition:border-color .15s}
.woocommerce ul.products li.product:hover{border-color:var(--cp-lav)}
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link{display:flex;flex-direction:column;flex:1;text-decoration:none;color:inherit}
.woocommerce ul.products li.product a img{width:100%;aspect-ratio:1/1;object-fit:cover;margin:0 0 14px!important;background:var(--cp-sky-50);border-radius:0}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:var(--cp-head);font-size:18px!important;font-weight:700;padding:0 18px!important;margin:0 0 6px;color:var(--cp-ink)}
.woocommerce ul.products li.product .price{color:var(--cp-ink)!important;font-weight:800;font-size:18px!important;padding:0 18px;margin:auto 0 12px!important;display:block}
.woocommerce ul.products li.product .price del{color:var(--cp-muted);font-weight:500}
.woocommerce ul.products li.product .price ins{text-decoration:none}
.woocommerce ul.products li.product .button{display:inline-flex;align-items:center;justify-content:center;gap:8px;margin:0 18px!important;min-height:44px;font-size:14px;line-height:1.2;padding:11px 20px;align-self:flex-start;text-align:center;white-space:normal}
.woocommerce ul.products li.product .button.loading{padding-right:20px;opacity:.75}
.woocommerce ul.products li.product .button.loading::after,.woocommerce ul.products li.product .button.added::after{position:static;margin:0;top:auto;right:auto}
.woocommerce ul.products li.product .added_to_cart{margin:8px 18px 0;font-weight:700;font-size:14px}
.woocommerce span.onsale,.woocommerce ul.products li.product .onsale{background:var(--cp-blue);color:#fff;border-radius:999px;min-height:auto;min-width:auto;line-height:1;padding:7px 12px;font-size:12px;font-weight:700;top:12px;left:12px;right:auto;margin:0}
@media (max-width:1000px){.woocommerce ul.products,.woocommerce ul.products.columns-4{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}}
@media (max-width:420px){.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:15px!important;padding:0 12px!important}.woocommerce ul.products li.product .price{padding:0 12px;font-size:16px!important}.woocommerce ul.products li.product .button{margin:0 12px!important;font-size:13px;padding:10px 14px}}
.woocommerce nav.woocommerce-pagination ul{border:0;display:flex;gap:8px;justify-content:center}
.woocommerce nav.woocommerce-pagination ul li{border:0}
.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;border:1px solid var(--cp-field);background:#fff;color:var(--cp-ink);font-weight:700}
.woocommerce nav.woocommerce-pagination ul li span.current{background:var(--cp-blue);border-color:var(--cp-blue);color:#fff}
.woocommerce-info,.woocommerce-message,.woocommerce-error{border:0;border-radius:var(--cp-r-sm);background:var(--cp-sky-50);color:var(--cp-ink);padding:16px 20px 16px 52px;margin:18px 0;list-style:none}
.woocommerce-info::before,.woocommerce-message::before{color:var(--cp-blue);top:16px;left:20px}
.woocommerce-message{background:#E9F6EF}.woocommerce-message::before{color:var(--cp-ok)}
.woocommerce-error{background:#FCEDEC}.woocommerce-error::before{color:var(--cp-err);top:16px;left:20px}
.woocommerce-info .button,.woocommerce-message .button{min-height:40px;font-size:14px;float:right;margin-left:12px}

.cp-empty{background:var(--cp-pink-50);border-radius:var(--cp-r-lg);padding:40px;max-width:760px;margin:10px 0 40px}
.cp-empty h2{font-size:clamp(22px,2.6vw,30px)}
.cp-empty p{color:var(--cp-text);font-size:17px}

/* ============================================================ shop: single product */
.cp-shop--single .woocommerce-breadcrumb{padding-top:22px;margin-bottom:22px}
.woocommerce div.product{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:56px;align-items:start}
.woocommerce div.product div.images,.woocommerce div.product div.summary{width:auto!important;float:none!important;margin:0!important}
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper{border-radius:var(--cp-r-lg);overflow:hidden;background:var(--cp-sky-50)}
.woocommerce div.product div.images img{border-radius:0}
.woocommerce div.product div.images .woocommerce-product-gallery__image>a>img.wp-post-image,
.woocommerce div.product div.images .woocommerce-product-gallery__image>a>img{aspect-ratio:4/5;object-fit:cover;width:100%;height:auto}
.woocommerce div.product div.images .woocommerce-product-gallery__trigger{background:#fff;border-radius:999px;width:44px;height:44px;top:14px;right:14px}
.woocommerce div.product div.images .flex-control-thumbs{display:flex;gap:10px;margin-top:12px!important}
.woocommerce div.product div.images .flex-control-thumbs li{width:84px!important;float:none!important}
.woocommerce div.product div.images .flex-control-thumbs li img{border-radius:14px;border:2px solid var(--cp-line);opacity:1}
.woocommerce div.product div.images .flex-control-thumbs li img.flex-active{border-color:var(--cp-blue)}
.woocommerce div.product .product_title{font-size:clamp(30px,3.4vw,42px);margin:0 0 10px}
.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--cp-ink)!important;font-family:var(--cp-head);font-weight:800;font-size:32px!important;margin:6px 0 16px}
.woocommerce div.product .woocommerce-product-details__short-description{color:var(--cp-text);font-size:17px}
.woocommerce div.product form.cart{display:flex;flex-wrap:wrap;gap:12px;align-items:stretch;margin:18px 0!important}
.woocommerce div.product form.cart div.quantity{margin:0!important;float:none}
.woocommerce .quantity .qty{width:84px;min-height:52px;border-radius:999px;text-align:center;font-weight:700;border:2px solid var(--cp-field)}
.woocommerce div.product form.cart .button{flex:1;min-height:52px;min-width:200px;float:none}
.woocommerce div.product form.cart .variations{margin-bottom:6px;width:100%}
.woocommerce div.product form.cart .variations th,.woocommerce div.product form.cart .variations td{display:block;padding:0 0 8px;text-align:left}
.woocommerce div.product form.cart .reset_variations{font-size:14px}
.woocommerce div.product .woocommerce-variation-add-to-cart{display:flex;gap:12px;flex-wrap:wrap;width:100%}
.woocommerce div.product .stock{color:var(--cp-ok);font-weight:700}
.woocommerce div.product .stock.out-of-stock{color:var(--cp-err)}
.product_meta{font-size:14px;color:var(--cp-muted);display:flex;flex-direction:column;gap:4px;padding-top:14px;border-top:1px dashed var(--cp-lav);margin-top:18px}
.cp-reassure{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0 12px}
.cp-reassure div{background:#fff;border:1px solid var(--cp-line);border-radius:16px;padding:14px;display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--cp-muted);line-height:1.4}
.cp-reassure strong{color:var(--cp-ink);font-size:14px}
.cp-custom-note{background:var(--cp-pink-50);border-radius:16px;padding:14px 18px;font-size:15px;margin:0 0 6px}
.cp-custom-note a{font-weight:700}
.woocommerce div.product .woocommerce-tabs{grid-column:1 / -1;background:#fff;border:1px solid var(--cp-line);border-radius:var(--cp-r-lg);padding:28px 32px;margin-top:20px}
.woocommerce div.product .woocommerce-tabs ul.tabs{padding:0;margin:0 0 20px;display:flex;gap:8px;flex-wrap:wrap}
.woocommerce div.product .woocommerce-tabs ul.tabs::before,.woocommerce div.product .woocommerce-tabs ul.tabs li::before,.woocommerce div.product .woocommerce-tabs ul.tabs li::after{display:none}
.woocommerce div.product .woocommerce-tabs ul.tabs li{border:1px solid var(--cp-field)!important;background:#fff!important;border-radius:999px!important;margin:0!important;padding:0!important}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{padding:10px 18px!important;font-weight:700;color:var(--cp-ink)!important}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{background:var(--cp-blue)!important;border-color:var(--cp-blue)!important}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:#fff!important}
.woocommerce div.product .woocommerce-tabs .panel h2{font-size:24px}
.woocommerce table.shop_attributes{border:0}
.woocommerce table.shop_attributes th,.woocommerce table.shop_attributes td{border:0;border-bottom:1px solid var(--cp-line);padding:12px 0;background:transparent!important;font-style:normal}
.woocommerce table.shop_attributes th{color:var(--cp-muted);width:40%;text-align:left}
.woocommerce div.product .related,.woocommerce div.product .upsells{grid-column:1 / -1;margin-top:30px}
.woocommerce div.product .related>h2,.woocommerce div.product .upsells>h2{font-size:28px;margin-bottom:20px}
@media (max-width:900px){
  .woocommerce div.product{grid-template-columns:1fr;gap:26px}
  .cp-reassure{grid-template-columns:1fr}
  .woocommerce div.product .woocommerce-tabs{padding:20px}
}

/* ============================================================ cart / checkout / account */
.cp-page--wc{max-width:1240px}
.woocommerce table.shop_table{border:1px solid var(--cp-line);border-radius:var(--cp-r);border-collapse:separate;background:#fff;overflow:hidden}
.woocommerce table.shop_table th{font-family:var(--cp-head);font-weight:700;color:var(--cp-ink);background:#F7F8FB}
.woocommerce table.shop_table td,.woocommerce table.shop_table th{border-color:var(--cp-line);padding:14px 16px}
.woocommerce table.shop_table img{width:72px;border-radius:12px}
.woocommerce a.remove{color:var(--cp-err)!important;font-size:22px;width:32px;height:32px;line-height:30px}
.woocommerce a.remove:hover{background:var(--cp-err);color:#fff!important}
.woocommerce-cart table.cart td.actions .coupon .input-text{width:180px;min-height:44px;border-radius:999px}
.woocommerce-cart table.cart td.actions .button{min-height:44px;font-size:14px}
.woocommerce .cart-collaterals .cart_totals,.woocommerce-page .cart-collaterals .cart_totals{background:#fff;border:1px solid var(--cp-line);border-radius:var(--cp-r-lg);padding:24px}
.woocommerce .cart-collaterals .cart_totals h2{font-size:24px}
.woocommerce .cart-collaterals .cart_totals table.shop_table{border:0}
.wc-proceed-to-checkout .checkout-button{width:100%;min-height:54px!important;font-size:17px!important}
.woocommerce-checkout .col2-set .col-1,.woocommerce-checkout .col2-set .col-2{width:100%;float:none}
form.woocommerce-checkout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);grid-template-rows:auto 1fr;column-gap:40px;row-gap:14px;align-items:start}
form.woocommerce-checkout>*{grid-column:1}
form.woocommerce-checkout #customer_details{grid-row:1 / span 2}
form.woocommerce-checkout #order_review_heading{grid-column:2;grid-row:1;margin:0}
form.woocommerce-checkout #order_review{grid-column:2;grid-row:2;background:#fff;border:1px solid var(--cp-line);border-radius:var(--cp-r-lg);padding:24px;position:sticky;top:150px}
form.woocommerce-checkout .woocommerce-NoticeGroup{grid-column:1 / -1}
.woocommerce-checkout #payment{background:var(--cp-sky-50);border-radius:var(--cp-r)}
.woocommerce-checkout #payment ul.payment_methods{border-bottom-color:var(--cp-line)}
.woocommerce-checkout #payment div.payment_box{background:#fff;color:var(--cp-text)}
.woocommerce-checkout #payment div.payment_box::before{border-bottom-color:#fff}
#place_order{width:100%;min-height:56px;font-size:17px}
.woocommerce-checkout h3{font-size:22px}
@media (max-width:900px){form.woocommerce-checkout{grid-template-columns:1fr;gap:24px}form.woocommerce-checkout #order_review_heading,form.woocommerce-checkout #order_review{grid-column:1;grid-row:auto;position:static}}
/* ---- my account: shell ---- */
.woocommerce-account .woocommerce{display:grid;grid-template-columns:270px minmax(0,1fr);gap:36px;align-items:start}
.woocommerce-account .woocommerce::before,.woocommerce-account .woocommerce::after{display:none!important}
.woocommerce-account .woocommerce>.woocommerce-notices-wrapper{grid-column:1 / -1}
.woocommerce-account .woocommerce-MyAccount-navigation,.woocommerce-account .woocommerce-MyAccount-content{width:auto;float:none}
.woocommerce-account:not(.logged-in) .woocommerce{display:block}
.cp-accnav{background:#fff;border:1px solid var(--cp-line);border-radius:var(--cp-r-lg);padding:10px;position:sticky;top:150px}
.cp-accnav__who{display:flex;align-items:center;gap:12px;padding:12px 12px 16px;margin-bottom:6px;border-bottom:1px dashed var(--cp-line)}
.cp-accnav__who div{min-width:0;display:flex;flex-direction:column;line-height:1.3}
.cp-accnav__who strong{font-family:var(--cp-head);color:var(--cp-ink);font-size:16px}
.cp-accnav__who span{font-size:13px;color:var(--cp-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cp-accnav__avatar{flex:none;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;font-family:var(--cp-head);font-weight:800;font-size:18px;color:var(--cp-blue);background:linear-gradient(90deg,var(--cp-sky) 50%,var(--cp-pink) 50%)}
.cp-accnav ul{list-style:none;margin:0;padding:0;border:0;background:none}
.cp-accnav li a{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:14px;font-weight:600;font-size:15px;color:var(--cp-ink);text-decoration:none;transition:background .15s,color .15s}
.cp-accnav li a svg{flex:none;color:var(--cp-lav)}
.cp-accnav li a:hover{background:var(--cp-sky-50);color:var(--cp-blue)}
.cp-accnav li.is-active a{background:var(--cp-blue);color:#fff}
.cp-accnav li.is-active a svg{color:#fff}
.cp-accnav li.woocommerce-MyAccount-navigation-link--customer-logout{margin-top:6px;padding-top:6px;border-top:1px dashed var(--cp-line)}
.cp-accnav li.woocommerce-MyAccount-navigation-link--customer-logout a{color:var(--cp-muted)}
.cp-accnav li.woocommerce-MyAccount-navigation-link--customer-logout a:hover{background:var(--cp-pink-50);color:var(--cp-ink)}
.woocommerce-MyAccount-content{min-width:0}
.woocommerce-MyAccount-content>p:first-child:not([class]){color:var(--cp-text)}
.woocommerce-MyAccount-content h2,.woocommerce-MyAccount-content h3{font-size:22px}
/* ---- dashboard ---- */
.cp-dash__hello{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;padding:28px 30px;border-radius:var(--cp-r-lg);background:linear-gradient(110deg,var(--cp-sky-50) 0%,#fff 55%,var(--cp-pink-50) 100%);border:1px solid var(--cp-line);margin-bottom:20px}
.cp-dash__hello h2{font-size:clamp(24px,2.6vw,32px);margin:0 0 6px}
.cp-dash__hello p{margin:0;color:var(--cp-text);max-width:52ch}
.cp-dash__tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:28px}
.cp-dash__tile{display:flex;flex-direction:column;gap:2px;padding:20px;background:#fff;border:1px solid var(--cp-line);border-radius:var(--cp-r);text-decoration:none;color:var(--cp-ink);transition:border-color .15s,transform .15s}
.cp-dash__tile:hover{border-color:var(--cp-lav);transform:translateY(-2px)}
.cp-dash__tile .cp-auth__ico{margin-bottom:10px}
.cp-dash__tile strong{font-family:var(--cp-head);font-size:17px}
.cp-dash__tile>span:last-child{font-size:14px;color:var(--cp-muted)}
.cp-dash__head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:12px}
.cp-dash__head h3{margin:0;font-size:20px}
.cp-dash__head a{font-weight:700;font-size:14px}
.cp-dash__list{list-style:none;margin:0;padding:0;background:#fff;border:1px solid var(--cp-line);border-radius:var(--cp-r);overflow:hidden}
.cp-dash__list li+li{border-top:1px solid var(--cp-line)}
.cp-dash__list a{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:16px;padding:16px 20px;text-decoration:none;color:var(--cp-ink)}
.cp-dash__list a:hover{background:var(--cp-sky-50)}
.cp-dash__no{font-weight:800;font-family:var(--cp-head)}
.cp-dash__date{color:var(--cp-muted);font-size:14px}
.cp-dash__total{font-weight:800;text-align:right;min-width:80px}
.cp-status{display:inline-block;padding:5px 12px;border-radius:999px;font-size:13px;font-weight:700;background:var(--cp-lav-50);color:var(--cp-ink);white-space:nowrap}
.cp-status--processing,.cp-status--on-hold{background:var(--cp-sky-50);color:var(--cp-blue)}
.cp-status--completed{background:#E7F5EC;color:#1E6B3A}
.cp-status--cancelled,.cp-status--failed,.cp-status--refunded{background:var(--cp-pink-50);color:#8A2D55}
.cp-dash__empty{background:#fff;border:1px dashed var(--cp-field);border-radius:var(--cp-r);padding:28px;text-align:center}
.cp-dash__empty p{margin:0 0 14px;color:var(--cp-text)}
.cp-dash__help{margin:22px 0 0;color:var(--cp-muted);font-size:15px}
.cp-dash__help a{font-weight:700}
/* ---- other account pages ---- */
.woocommerce-account table.shop_table.my_account_orders{font-size:15px}
.woocommerce-account table.my_account_orders .button{min-height:38px;padding:8px 16px;font-size:14px;margin:2px 4px 2px 0}
.woocommerce-account .woocommerce-orders-table__cell-order-status mark,.woocommerce-account mark.order-status{background:var(--cp-lav-50);padding:3px 10px;border-radius:999px;font-weight:700}
.woocommerce-account .woocommerce-Addresses{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.woocommerce-account .woocommerce-Addresses::before,.woocommerce-account .woocommerce-Addresses::after{display:none}
.woocommerce-account .woocommerce-Addresses .woocommerce-Address{width:auto;float:none;background:#fff;border:1px solid var(--cp-line);border-radius:var(--cp-r);padding:22px}
.woocommerce-account .woocommerce-Address-title{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin-bottom:12px;padding-bottom:12px;border-bottom:1px dashed var(--cp-line)}
.woocommerce-account .woocommerce-Address-title::before,.woocommerce-account .woocommerce-Address-title::after{display:none}
.woocommerce-account .woocommerce-Address-title h2,.woocommerce-account .woocommerce-Address-title h3{font-size:19px;margin:0;float:none}
.woocommerce-account .woocommerce-Address-title a{float:none;font-weight:700;font-size:14px}
.woocommerce-account .woocommerce-Address address{font-style:normal;color:var(--cp-text);line-height:1.7}
.woocommerce-account form.woocommerce-EditAccountForm,.woocommerce-account .woocommerce-MyAccount-content form:not(.cp-x){background:#fff;border:1px solid var(--cp-line);border-radius:var(--cp-r-lg);padding:26px}
.woocommerce-account form.woocommerce-EditAccountForm fieldset{border:1px dashed var(--cp-line);border-radius:var(--cp-r);padding:18px;margin:18px 0}
.woocommerce-account form.woocommerce-EditAccountForm legend{font-family:var(--cp-head);font-weight:700;padding:0 8px}
.woocommerce-account .woocommerce-order-details,.woocommerce-account .woocommerce-customer-details{margin-top:24px}
/* ---- login / register ---- */
.cp-auth{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:32px;align-items:start}
.cp-auth__forms{display:grid;gap:24px}
.cp-auth--reg .cp-auth__forms{grid-template-columns:repeat(2,minmax(0,1fr))}
.cp-auth__card{background:#fff;border:1px solid var(--cp-line);border-radius:var(--cp-r-lg);padding:30px;box-shadow:0 10px 30px -18px rgba(23,38,74,.25)}
.cp-auth__card--alt{background:linear-gradient(160deg,#fff 40%,var(--cp-pink-50))}
.cp-auth__eyebrow{display:block;font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--cp-lav);margin-bottom:4px}
.cp-auth__card h2{font-size:28px;margin:0 0 18px}
.woocommerce .cp-auth form.login,.woocommerce .cp-auth form.register{border:0;padding:0;margin:0;background:none;border-radius:0}
.cp-auth .form-row{padding:0;margin:0 0 16px}
.cp-auth label{font-weight:600;font-size:14px;color:var(--cp-ink);margin-bottom:6px;display:block}
.cp-auth .password-input{display:block;position:relative}
.cp-auth__row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:2px 0 20px}
.cp-auth__row label{display:inline-flex;align-items:center;gap:8px;margin:0;font-weight:500;cursor:pointer}
.cp-auth__row input[type=checkbox]{width:18px;height:18px;accent-color:var(--cp-blue);margin:0}
.cp-auth__lost{font-size:14px;font-weight:700}
.woocommerce .cp-auth .cp-auth__submit{width:100%;min-height:52px;margin:0}
.woocommerce .cp-auth .cp-auth__submit.cp-btn--g{background:#fff;color:var(--cp-blue)}
.woocommerce .cp-auth .cp-auth__submit.cp-btn--g:hover{background:var(--cp-blue);color:#fff}
.cp-auth__note{font-size:14px;color:var(--cp-muted);background:var(--cp-sky-50);border-radius:var(--cp-r-sm);padding:10px 14px;margin:0 0 18px}
.cp-auth .woocommerce-privacy-policy-text{font-size:13px;color:var(--cp-muted)}
.cp-auth .woocommerce-privacy-policy-text p{margin:0 0 16px}
.cp-auth__aside{background:var(--cp-ink);color:#fff;border-radius:var(--cp-r-lg);padding:30px;position:relative;overflow:hidden}
.cp-auth__aside::after{content:"";position:absolute;right:-70px;bottom:-70px;width:180px;height:180px;border-radius:50%;background:linear-gradient(90deg,var(--cp-sky) 50%,var(--cp-pink) 50%);opacity:.18}
.cp-auth__aside h2{color:#fff;font-size:22px;margin:0 0 18px}
.cp-auth__perks{list-style:none;margin:0 0 22px;padding:0;display:grid;gap:16px}
.cp-auth__perks li{display:flex;gap:14px;align-items:flex-start}
.cp-auth__perks strong{display:block;font-size:15px}
.cp-auth__perks div span{font-size:14px;color:#C9D2EA;line-height:1.5}
.cp-auth__ico{flex:none;width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:var(--cp-sky);color:var(--cp-blue)}
.cp-auth__ico--pink{background:var(--cp-pink);color:#8A2D55}
.cp-auth__ico--lav{background:var(--cp-lav-50);color:var(--cp-blue)}
.cp-auth__help{position:relative;z-index:1;border-top:1px dashed rgba(255,255,255,.25);padding-top:16px;font-size:14px;color:#C9D2EA}
.cp-auth__help p{margin:0 0 6px}
.cp-auth__help a{color:#fff;font-weight:700}
.woocommerce-account .woocommerce-ResetPassword,.woocommerce-account form.lost_reset_password{max-width:560px;background:#fff;border:1px solid var(--cp-line);border-radius:var(--cp-r-lg);padding:30px}
@media (max-width:1000px){.cp-auth{grid-template-columns:1fr}.cp-dash__tiles{grid-template-columns:1fr 1fr}}
@media (max-width:800px){.woocommerce-account .woocommerce{grid-template-columns:minmax(0,1fr);gap:20px}.cp-accnav{position:static;min-width:0}.cp-accnav__who{padding:6px 6px 12px}.cp-accnav ul{display:flex;gap:6px;overflow-x:auto;padding-bottom:4px}.cp-accnav li a{white-space:nowrap}.cp-accnav li.woocommerce-MyAccount-navigation-link--customer-logout{margin:0;padding:0;border:0}.cp-auth--reg .cp-auth__forms{grid-template-columns:1fr}.woocommerce-account .woocommerce-Addresses{grid-template-columns:1fr}}
@media (max-width:560px){.cp-dash__tiles{grid-template-columns:1fr}.cp-dash__list a{grid-template-columns:auto 1fr auto;row-gap:6px}.cp-dash__date{grid-column:1 / -1;grid-row:2}.cp-auth__card,.cp-auth__aside{padding:22px}.cp-dash__hello{padding:22px}}

/* ============================================================ plugins */
/* CookieYes banner in brand colours */
.cky-consent-container .cky-consent-bar{border-radius:20px!important;border:1px solid var(--cp-line)!important;box-shadow:var(--cp-shadow)!important}
.cky-btn-accept{background:var(--cp-blue)!important;border-color:var(--cp-blue)!important;border-radius:999px!important}
.cky-btn-reject,.cky-btn-customize{border-radius:999px!important;color:var(--cp-blue)!important;border-color:var(--cp-blue)!important}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
