@font-face{font-family:Raleway;src:url('../fonts/Raleway-Regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Raleway;src:url('../fonts/Raleway-SemiBold.ttf') format('truetype');font-weight:600;font-display:swap}
@font-face{font-family:Raleway;src:url('../fonts/Raleway-Bold.ttf') format('truetype');font-weight:700;font-display:swap}
@font-face{font-family:Raleway;src:url('../fonts/Raleway-ExtraBold.ttf') format('truetype');font-weight:800;font-display:swap}
:root{--cmp-ink:#212724;--cmp-muted:#58615d;--cmp-green:#275d43;--cmp-green-dark:#1d4a35;--cmp-bg:#fff;--cmp-soft:#f3f6f3;--cmp-line:#dce4dd;--cmp-space-1:.5rem;--cmp-space-2:1rem;--cmp-space-3:1.5rem;--cmp-space-4:2rem;--cmp-space-5:3rem;--cmp-space-6:4.5rem;--cmp-width:1320px;--cmp-header-height:72px;--cmp-admin-bar-height:0px}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;font-size:17px}
body{margin:0;background:var(--cmp-bg);color:var(--cmp-ink);font:400 1rem/1.55 Raleway,Arial,sans-serif}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}
button{cursor:pointer}
:focus-visible{outline:3px solid #80b492;outline-offset:3px}
.cmp-visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.cmp-skip{position:absolute;left:1rem;top:-5rem;z-index:1000;background:#fff;padding:.7rem 1rem}
.cmp-skip:focus{top:1rem}
.cmp-container{width:min(calc(100% - 2rem),var(--cmp-width));margin-inline:auto}
.cmp-site-header{position:sticky;top:var(--cmp-admin-bar-height);z-index:100;background:#fff;border-bottom:1px solid var(--cmp-line)}
body.admin-bar{--cmp-admin-bar-height:32px}
@media(max-width:782px){body.admin-bar{--cmp-admin-bar-height:46px}}
@media(max-width:600px){body.admin-bar{--cmp-admin-bar-height:0px}}
.cmp-header-inner{width:min(calc(100% - 2rem),var(--cmp-width));margin:auto;min-height:72px;display:flex;align-items:center;gap:2rem}
.cmp-wordmark{display:inline-flex;flex-direction:column;align-items:flex-start;line-height:1;min-width:136px;flex:none}
.cmp-wordmark-main{font-weight:800;font-stretch:condensed;font-size:1.3rem;letter-spacing:-.06em;transform:scaleX(.85);transform-origin:left}
.cmp-wordmark-sub{font-size:.46rem;font-weight:700;letter-spacing:.44em;margin-top:.35rem}
.cmp-logo-image{display:block;width:118px;height:auto;max-width:100%}
#wpadminbar .site-icon{display:inline-block!important;width:20px!important;height:20px!important;max-width:20px!important;max-height:20px!important;object-fit:contain!important;vertical-align:middle!important;margin-right:6px!important}
.cmp-primary-nav{margin-inline:auto}
.cmp-nav-list{list-style:none;padding:0;margin:0;display:flex;align-items:center;gap:clamp(1rem,2vw,2.1rem)}
.cmp-nav-list li{position:relative}
.cmp-nav-list a,.cmp-nav-list summary{display:block;padding:.6rem 0;font-size:.78rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;white-space:nowrap;cursor:pointer}
.cmp-nav-list summary{list-style:none}
.cmp-nav-list summary::-webkit-details-marker{display:none}
.cmp-nav-list a:hover,.cmp-nav-list summary:hover,.cmp-text-button:hover,.cmp-inline-link:hover{color:var(--cmp-green)}
.cmp-dropdown{position:absolute;left:-1rem;top:calc(100% - 2px);min-width:220px;max-height:min(75vh,680px);overflow:auto;padding:1rem 1.25rem;background:#fff;border:1px solid var(--cmp-line);box-shadow:0 18px 38px #14221a1c}
.cmp-gallery-dropdown{min-width:340px}
.cmp-dropdown a{padding:.42rem 0;font-size:.74rem;white-space:normal;line-height:1.4;text-transform:none;letter-spacing:0;font-weight:600}
.cmp-dropdown-label{color:var(--cmp-green);font-size:.66rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;margin:.8rem 0 .2rem}
.cmp-dropdown-label:first-child{margin-top:0}
.cmp-header-actions{display:flex;align-items:center;gap:1.2rem}
.cmp-text-button{background:none;border:0;padding:.6rem 0;font-size:.76rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
.cmp-bag-count{display:inline-grid;place-items:center;margin-left:.35rem;background:var(--cmp-green);color:#fff;border-radius:50%;width:1.25rem;height:1.25rem;font-size:.66rem;letter-spacing:0}
.cmp-menu-toggle{display:none;width:42px;height:42px;border:0;background:none;align-items:center;justify-content:center}
.cmp-menu-lines,.cmp-menu-lines::before,.cmp-menu-lines::after{display:block;width:22px;height:2px;background:var(--cmp-ink);position:relative;content:''}
.cmp-menu-lines::before{position:absolute;top:-7px}.cmp-menu-lines::after{position:absolute;top:7px}
.cmp-search-panel{position:absolute;left:0;right:0;top:100%;padding:1.5rem max(1rem,calc((100vw - var(--cmp-width))/2));background:#fff;border-bottom:1px solid var(--cmp-line);box-shadow:0 18px 38px #14221a1c}
.cmp-search-panel[hidden]{display:none}
.cmp-search-panel label{display:block;font-weight:700;margin-bottom:.5rem}
.cmp-search-input-row{display:flex;max-width:760px}
.cmp-search-input-row input{flex:1;min-width:0;border:1px solid var(--cmp-line);padding:.8rem 1rem}
.cmp-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.72rem 1.15rem;border:1px solid var(--cmp-green);background:var(--cmp-green);color:#fff;font-size:.78rem;line-height:1.3;font-weight:700;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;transition:background .18s ease,border-color .18s ease}
.cmp-button:hover{background:var(--cmp-green-dark);border-color:var(--cmp-green-dark);color:#fff}
.cmp-button-light{background:#fff;border-color:#fff;color:var(--cmp-green-dark)}
.cmp-button-light:hover{background:#f1f6f0;color:var(--cmp-green-dark)}
.cmp-inline-link{color:var(--cmp-green);font-size:.75rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}
.cmp-eyebrow{margin:0 0 .55rem;color:var(--cmp-green);font-size:.67rem;line-height:1.3;font-weight:800;letter-spacing:.17em;text-transform:uppercase}
.cmp-hero{position:relative;isolation:isolate;display:flex;align-items:flex-end;min-height:clamp(340px,36vw,520px);padding:3.4rem 0;background:#dce6df}
.cmp-hero-picture,.cmp-hero-picture::after{position:absolute;inset:0}
.cmp-hero-picture{z-index:-1}
.cmp-hero-picture img{width:100%;height:100%;object-fit:cover}
.cmp-hero-picture::after{content:'';background:linear-gradient(90deg,#07120cbd 0%,#07120c66 38%,transparent 75%)}
.cmp-hero-content{color:var(--cmp-ink)}
.cmp-hero-has-image .cmp-hero-content{color:#fff}
.cmp-hero-has-image .cmp-eyebrow{color:#fff}
.cmp-hero h1{max-width:660px;margin:0;font-size:clamp(2.25rem,5vw,4.2rem);line-height:1.02;letter-spacing:-.045em;font-weight:800}
.cmp-hero-copy{max-width:48ch;margin:1rem 0 1.5rem;font-size:clamp(.95rem,1.5vw,1.15rem)}
.cmp-find{background:#fff;border-bottom:1px solid var(--cmp-line)}
.cmp-find-inner{max-width:850px;text-align:center;padding-block:2.2rem}
.cmp-find h2{font-size:1.2rem;margin:0 0 .7rem}
.cmp-find form{display:flex}
.cmp-find input{flex:1;min-width:0;border:1px solid #bccbc0;padding:.8rem 1rem}
.cmp-find p{margin:.65rem 0 0;color:var(--cmp-muted);font-size:.9rem}
.cmp-section{padding-block:clamp(3rem,6vw,5.6rem)}
.cmp-section-heading{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:1.45rem}
.cmp-section-heading h2{font-size:clamp(1.7rem,2.8vw,2.6rem);letter-spacing:-.035em;line-height:1.15;margin:0}
.cmp-gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:1.2rem}
.cmp-gallery-card,.cmp-promo-card{min-width:0}
.cmp-card-image{overflow:hidden;aspect-ratio:4/3;background:#e5ebe6}
.cmp-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .25s ease}
a:hover .cmp-card-image img{transform:scale(1.025)}
.cmp-gallery-card h3{font-size:.98rem;line-height:1.25;margin:.7rem 0 .1rem;font-weight:700}
.cmp-gallery-body .cmp-product-card-title{text-align:center}
.cmp-gallery-card p{font-size:.9rem;line-height:1.5;color:var(--cmp-muted);margin:0}
.cmp-promos{background:var(--cmp-soft)}
.cmp-promo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem}
.cmp-promo-card{background:#fff}
.cmp-promo-card .cmp-card-image{aspect-ratio:1.55}
.cmp-promo-copy{padding:1.1rem 1.2rem 1.25rem}
.cmp-promo-copy h3{font-size:1.18rem;margin:.15rem 0}
.cmp-promo-copy p{margin:.2rem 0 .7rem;font-size:.95rem;color:var(--cmp-muted)}
.cmp-learn{background:#edf3ee}
.cmp-learn-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem}
.cmp-learn-card{position:relative;isolation:isolate;min-height:280px;display:flex;align-items:end;background:#244b36;color:#fff;overflow:hidden}
.cmp-learn-card::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,#08130cbf,#08130c3d 75%)}
.cmp-learn-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .25s ease}
a.cmp-learn-card:hover .cmp-learn-image{transform:scale(1.025)}
.cmp-learn-copy{padding:1.6rem}
.cmp-learn-copy h3{max-width:16ch;font-size:clamp(1.35rem,2.5vw,2rem);line-height:1.15;margin:0}
.cmp-learn-copy p{max-width:35ch;font-size:.95rem}
.cmp-learn-copy .cmp-button{margin-top:.4rem}
.cmp-learn-status{display:inline-block;margin-top:.65rem;padding:.55rem .8rem;border:1px solid #ffffffb3;color:#fff;font-size:.8rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.cmp-about-news-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:3rem}
.cmp-about-mini{display:grid;grid-template-columns:150px 1fr;gap:1.4rem;align-items:start}
.cmp-about-no-image{display:block}
.cmp-about-image{width:150px;aspect-ratio:1;object-fit:cover}
.cmp-about-news h2{font-size:clamp(1.3rem,2vw,1.75rem);line-height:1.2;margin:0 0 .6rem}
.cmp-about-news p{font-size:1rem;margin:.3rem 0 1rem}
.cmp-newsletter-mini{border-left:1px solid var(--cmp-line);padding-left:3rem}
.cmp-join-form{margin-top:1.3rem}
.cmp-join-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}
.cmp-join-fields label{display:block;font-size:.95rem;font-weight:700;letter-spacing:.02em}
.cmp-join-fields label span{font-weight:400;color:var(--cmp-muted)}
.cmp-join-fields input{display:block;width:100%;min-height:45px;margin-top:.35rem;padding:.6rem .75rem;border:1px solid #bfcfc3;border-radius:2px;background:#fff;color:var(--cmp-ink)}
.cmp-join-fields label:last-child{grid-column:1/-1}
.cmp-join-form .cmp-button{margin-top:1rem}
.cmp-join-privacy{font-size:.85rem!important;color:var(--cmp-muted);line-height:1.5;margin:.75rem 0 0!important}
.cmp-join-privacy a{text-decoration:underline;text-underline-offset:2px}
.cmp-join-offer{display:inline-block;color:var(--cmp-green);font-weight:700}
.cmp-shop-product-copy h3 a:hover,.cmp-shop-product-copy h3 a:focus-visible{color:var(--cmp-green);text-decoration:underline;text-underline-offset:3px}
.cmp-shop-product-copy>.cmp-button{align-self:flex-start;margin-top:auto}
#main-content.cmp-join-page{padding-top:clamp(3.5rem,5vw,5rem)!important;padding-bottom:clamp(3.5rem,5vw,5rem)}
.cmp-join-page-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:clamp(2rem,6vw,7rem);align-items:center}
.cmp-join-page-copy{max-width:580px}
.cmp-join-page h1{font-size:clamp(2.8rem,5vw,5.5rem);line-height:1;letter-spacing:-.055em;margin:.5rem 0 1.2rem}
.cmp-join-intro{font-size:1.08rem;color:var(--cmp-muted);max-width:36rem}
.cmp-join-page-image{min-height:470px;background:var(--cmp-soft);overflow:hidden}
.cmp-join-page-image img{width:100%;height:100%;min-height:470px;object-fit:cover}
.cmp-join-next{margin:1.4rem 0 0;color:var(--cmp-green);font-weight:700;max-width:42ch}
.cmp-join-small{margin:.75rem 0 0;color:var(--cmp-muted);font-size:.9rem}
.cmp-join-code{display:grid;gap:.2rem;width:max-content;max-width:100%;margin:1.6rem 0;padding:1.1rem 1.4rem;border-left:4px solid var(--cmp-green);background:var(--cmp-soft)}
.cmp-join-code span{font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--cmp-green)}
.cmp-join-code strong{font-size:clamp(1.5rem,3vw,2rem);letter-spacing:.06em}
.cmp-join-code small{color:var(--cmp-muted)}
.cmp-join-dialog{width:min(100% - 2rem,510px);max-height:min(90vh,700px);padding:0;border:0;border-radius:3px;box-shadow:0 28px 75px #091b11a6;color:var(--cmp-ink);overflow:auto}
.cmp-join-dialog::backdrop{background:#091b11a8}
.cmp-join-dialog-inner{padding:clamp(1.5rem,4vw,2.7rem)}
.cmp-join-dialog h2{font-size:clamp(2rem,4vw,3.1rem);line-height:1.06;letter-spacing:-.045em;margin:.4rem 0 1rem}
.cmp-join-dialog-inner>p:not(.cmp-eyebrow){color:var(--cmp-muted);max-width:38ch}
.cmp-join-close{position:absolute;top:.5rem;right:.65rem;display:grid;place-items:center;width:40px;height:40px;background:transparent;border:0;color:var(--cmp-ink);font-size:1.8rem;line-height:1}
@media(max-width:700px){.cmp-join-page-layout{grid-template-columns:1fr}.cmp-join-page-image{min-height:220px;max-height:320px}.cmp-join-page-image img{min-height:220px;max-height:320px}.cmp-join-fields{grid-template-columns:1fr}}
.cmp-site-footer{background:#1d2420;color:#f4f6f3;padding-top:3rem}
.cmp-back-to-top{position:fixed;right:max(1rem,env(safe-area-inset-right));bottom:max(1rem,env(safe-area-inset-bottom));z-index:90;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-width:68px;min-height:48px;padding:.55rem .85rem;border:1px solid #fff;border-radius:999px;background:var(--cmp-green);color:#fff;box-shadow:0 6px 22px #10271a40;font-size:.76rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;line-height:1}
.cmp-back-to-top[hidden]{display:none}
.cmp-back-to-top span:first-child{font-family:Arial,sans-serif;font-size:1.3rem;line-height:.7}
.cmp-back-to-top:hover{background:var(--cmp-green-dark)}
.cmp-footer-main{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:2rem}
.cmp-footer-brand p{max-width:31ch;font-size:.85rem;color:#cdd8d0}
.cmp-footer-brand .cmp-logo-image{filter:invert(1)}
.cmp-site-footer h2{font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;margin:0 0 .8rem}
.cmp-footer-links{list-style:none;margin:0;padding:0}
.cmp-footer-links li{margin:.35rem 0}
.cmp-footer-links a{font-size:.85rem;color:#d7dfd9}
.cmp-footer-links a:hover{color:#fff;text-decoration:underline}
.cmp-footer-bottom{border-top:1px solid #4b554e;margin-top:2.5rem;padding-block:1rem;font-size:.74rem;color:#cdd8d0}
.cmp-standard-page{max-width:920px;min-height:40vh;padding-block:3.5rem}
.cmp-standard-page h1{font-size:clamp(2rem,4vw,3.2rem);line-height:1.1}
.cmp-standard-page a:not(.cmp-button){color:var(--cmp-green);text-decoration:underline}
.cmp-standard-page img{max-width:100%}
.woocommerce .cmp-standard-page{max-width:1200px}
@media(max-width:1050px){
  .cmp-header-inner{gap:1rem}
  .cmp-nav-list{gap:1rem}
  .cmp-wordmark{min-width:120px}
  .cmp-logo-image{width:100px}
}
@media(max-width:820px){
  body{--cmp-header-height:64px}
  .cmp-header-inner{min-height:64px}
  .cmp-menu-toggle{display:inline-flex}
  .cmp-primary-nav{display:none;position:absolute;left:0;right:0;top:100%;margin:0;background:#fff;border-bottom:1px solid var(--cmp-line);box-shadow:0 18px 38px #14221a1c;max-height:calc(100dvh - 64px);overflow:auto}
  .cmp-primary-nav.is-open{display:block}
  .cmp-nav-list{display:block;padding:1rem}
  .cmp-nav-list a,.cmp-nav-list summary{padding:.78rem 0}
  .cmp-dropdown{position:static;box-shadow:none;border:0;border-left:2px solid var(--cmp-line);max-height:none;margin:0 0 .5rem .5rem;padding:.3rem 1rem}
  .cmp-header-actions{margin-left:auto}
  .cmp-promo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cmp-footer-main{grid-template-columns:2fr 1fr 1fr}
}
@media(max-width:640px){
  .cmp-container,.cmp-header-inner{width:min(calc(100% - 2rem),var(--cmp-width))}
  .cmp-header-actions{gap:.8rem}
  .cmp-text-button{font-size:.7rem}
  .cmp-hero{min-height:410px;padding-bottom:2rem}
  .cmp-hero-picture::after{background:linear-gradient(0deg,#07120cbd,#07120c35 70%)}
  .cmp-hero h1{font-size:clamp(2.1rem,9vw,3rem)}
  .cmp-find-inner{padding-block:1.8rem}
  .cmp-section-heading{align-items:start}
  .cmp-section-heading .cmp-inline-link{font-size:.67rem;white-space:normal;text-align:right;max-width:110px}
  .cmp-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem}
  .cmp-gallery-card h3{font-size:.88rem}
  .cmp-promo-grid,.cmp-learn-grid,.cmp-about-news-grid{grid-template-columns:1fr}
  .cmp-learn-card{min-height:260px}
  .cmp-about-mini{grid-template-columns:95px 1fr;gap:1rem}
  .cmp-about-image{width:95px}
  .cmp-newsletter-mini{border-left:0;border-top:1px solid var(--cmp-line);padding:1.7rem 0 0}
  .cmp-footer-main{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cmp-footer-brand{grid-column:1/-1}
}
@media (min-width:360px) and (max-width:640px){
  .cmp-footer-main{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr) minmax(0,.85fr);column-gap:.45rem}
  .cmp-footer-main>div:nth-child(n+3){border-left:1px solid #4b554e;padding-left:.65rem}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.cmp-button,.cmp-card-image img,.cmp-learn-image{transition:none}}
.cmp-search-form{position:relative}
.cmp-find .cmp-search-form{display:flex}
.cmp-search-suggestions{position:absolute;z-index:30;top:100%;left:0;width:min(100%,680px);max-height:65vh;overflow:auto;background:#fff;border:1px solid var(--cmp-line);box-shadow:0 18px 38px #14221a24;text-align:left;padding:.4rem}
.cmp-search-suggestions[hidden]{display:none}
.cmp-search-suggestions strong{display:block;padding:.75rem .7rem .25rem;color:var(--cmp-green);font-size:.7rem;text-transform:uppercase;letter-spacing:.08em}
.cmp-search-suggestions a{display:flex;align-items:center;gap:.75rem;padding:.45rem .7rem;font-size:.86rem;border-radius:3px}
.cmp-search-suggestions a:hover,.cmp-search-suggestions a:focus{background:var(--cmp-soft)}
.cmp-search-suggestions img{width:48px;height:42px;object-fit:cover}
.cmp-search-suggestions p{padding:.4rem .7rem}
.cmp-search-suggestions button{width:100%;border:0;background:var(--cmp-soft);padding:.75rem;text-align:left;color:var(--cmp-green);font-weight:700}
.cmp-collection-heading{padding-block:3.5rem 2.5rem}.cmp-collection-heading h1{font-size:clamp(2.4rem,5vw,4.2rem);line-height:1.05;letter-spacing:-.045em;margin:.2rem 0}.cmp-collection-heading p:last-child{max-width:55ch;color:var(--cmp-muted)}
.cmp-collection-section{padding-bottom:4rem}.cmp-collection-section h2,.cmp-gallery-list-heading h2,.cmp-related h2{font-size:clamp(1.5rem,2.8vw,2.3rem);margin:0 0 1.4rem;letter-spacing:-.035em}
.cmp-overview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.3rem}.cmp-overview-card{display:block}.cmp-overview-image{display:block;aspect-ratio:1.45;background:var(--cmp-soft);overflow:hidden}.cmp-overview-image img{width:100%;height:100%;object-fit:cover;transition:transform .25s}.cmp-overview-card:hover img{transform:scale(1.025)}.cmp-overview-title{display:flex;justify-content:space-between;gap:1rem;font-weight:700;font-size:1rem;padding-top:.65rem}.cmp-overview-title span{color:var(--cmp-green)}.cmp-browse-note{border-top:1px solid var(--cmp-line);padding-top:3rem}
.cmp-gallery-hero{position:relative;isolation:isolate;display:flex;align-items:end;min-height:clamp(250px,23vw,320px);background:#dae5dd}.cmp-gallery-hero.has-image{color:#fff}.cmp-gallery-hero.has-image:after{content:'';position:absolute;z-index:-1;inset:0;background:linear-gradient(0deg,#06150bc4,transparent 75%)}.cmp-gallery-hero-image{position:absolute;z-index:-2;inset:0;width:100%;height:100%;object-fit:cover}.cmp-gallery-hero .cmp-gallery-hero-image{height:100%;max-width:none;object-position:center 27%}.cmp-gallery-hero{overflow:hidden}.cmp-gallery-hero-content{padding-block:2.5rem}.cmp-gallery-hero h1{font-size:clamp(2rem,5vw,4rem);line-height:1.05;letter-spacing:-.045em;margin:.2rem 0}.cmp-gallery-hero.has-image .cmp-eyebrow{color:#fff}.cmp-back-link{font-size:.78rem;font-weight:700}.cmp-back-link:hover{text-decoration:underline}
.cmp-gallery-body{padding-block:2.5rem 5rem}.cmp-gallery-intro{max-width:65ch;font-size:1rem;color:var(--cmp-muted)}.cmp-gallery-search{max-width:710px;margin:1.6rem 0 3rem}.cmp-gallery-search label{display:block;font-weight:700;margin-bottom:.55rem}.cmp-gallery-search input[type=search]{flex:1;min-width:0;padding:.8rem 1rem;border:1px solid var(--cmp-line)}.cmp-gallery-list-heading{display:flex;justify-content:space-between;align-items:baseline;gap:1rem}
.cmp-gallery-filters{margin:-1.25rem 0 2.6rem}.cmp-gallery-filters-label{display:block;color:var(--cmp-muted);font-size:.85rem;font-weight:700;margin-bottom:.7rem}.cmp-gallery-filter-links{display:flex;gap:.55rem;flex-wrap:wrap}.cmp-gallery-filter{display:inline-flex;gap:.55rem;align-items:center;padding:.55rem .8rem;border:1px solid var(--cmp-line);border-radius:3px;color:var(--cmp-ink);font-size:.88rem;font-weight:700;text-decoration:none}.cmp-gallery-filter:hover,.cmp-gallery-filter:focus-visible{border-color:var(--cmp-green)}.cmp-gallery-filter.is-active{background:var(--cmp-green);border-color:var(--cmp-green);color:#fff}.cmp-gallery-filter span{font-size:.78rem;opacity:.72}
.cmp-product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2rem 1.25rem}.cmp-product-card{display:block;min-width:0}.cmp-product-card-image{display:flex;align-items:center;justify-content:center;aspect-ratio:1.22;background:var(--cmp-soft);overflow:hidden}.cmp-product-card-image img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}.cmp-product-card-title{display:block;margin-top:.65rem;font-size:.9rem;font-weight:700}.cmp-product-card:hover .cmp-product-card-title{text-decoration:underline}.cmp-more-button{margin-top:2.5rem}.cmp-pagination{margin-top:2.5rem}.cmp-pagination ul{display:flex;gap:.4rem;list-style:none;padding:0}.cmp-pagination a,.cmp-pagination span{display:grid;place-items:center;min-width:38px;height:38px;border:1px solid var(--cmp-line)}.cmp-pagination .current{background:var(--cmp-green);color:#fff}
.cmp-search-page{padding-bottom:5rem}.cmp-search-result-section{padding:1rem 0 2.5rem;border-top:1px solid var(--cmp-line)}.cmp-search-result-section h2{font-size:1.5rem}.cmp-result-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.cmp-result-card{display:flex;align-items:center;gap:.7rem;padding:.7rem;border:1px solid var(--cmp-line);font-size:.86rem;font-weight:600}.cmp-result-card img{width:58px;height:54px;object-fit:cover;flex:none}.cmp-result-card:hover{border-color:var(--cmp-green)}
.cmp-image-product{padding-block:1.3rem 5rem}.cmp-product-breadcrumb{font-size:.75rem;color:var(--cmp-muted);margin-bottom:1.6rem}.cmp-product-breadcrumb a:hover{text-decoration:underline}.cmp-image-product-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(330px,.8fr);gap:clamp(2rem,5vw,5rem);align-items:start}.cmp-image-product-media{background:var(--cmp-soft);padding:clamp(.7rem,2vw,1.5rem)}.cmp-main-product-image{display:block;width:auto;max-width:100%;max-height:75vh;margin:auto;object-fit:contain}.cmp-product-thumbs{display:flex;gap:.5rem;margin-top:1rem}.cmp-product-thumbs img{width:80px;height:70px;object-fit:contain;background:#fff}.cmp-image-product-buy h1{font-size:clamp(2rem,3.2vw,3rem);letter-spacing:-.045em;line-height:1.1;margin:.3rem 0}.cmp-product-location{color:var(--cmp-muted)}.cmp-image-purchase-form{margin-top:1.8rem}.cmp-image-purchase-form .price{font-size:1.25rem;font-weight:700;color:var(--cmp-green)}.cmp-image-purchase-form table.variations{width:100%;border:0;border-spacing:0 1rem}.cmp-image-purchase-form table.variations td,.cmp-image-purchase-form table.variations th{display:block;text-align:left;padding:0;border:0}.cmp-image-purchase-form table.variations select{width:100%;min-height:44px;border:1px solid var(--cmp-line);background:#fff;padding:.5rem}.cmp-image-purchase-form .single_add_to_cart_button{min-height:46px;background:var(--cmp-green)!important;color:#fff!important;border:0!important;padding:.75rem 1.5rem!important}.cmp-image-purchase-form .quantity input{min-height:44px;width:65px}.cmp-image-purchase-form .woocommerce-variation-price{margin:1rem 0}.cmp-also-available{margin-top:2rem;border-top:1px solid var(--cmp-line);padding-top:1rem}.cmp-also-available h2{font-size:1rem}.cmp-also-available a{display:inline-block;color:var(--cmp-green);font-weight:700;margin-right:1rem}.cmp-product-information{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.4rem 3rem;border-top:1px solid var(--cmp-line);padding-top:2rem;margin-top:4rem}.cmp-product-information h2{font-size:1.1rem;margin:0 0 .45rem}.cmp-product-information p{font-size:.95rem;color:var(--cmp-muted);margin:0}.cmp-related{margin-top:4rem}.cmp-woocommerce-default{padding-block:3rem}
@media(max-width:820px){.cmp-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cmp-product-grid,.cmp-result-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.cmp-image-product-layout{grid-template-columns:1fr}.cmp-main-product-image{max-height:65vh}}
@media(max-width:600px){.cmp-gallery-hero .cmp-gallery-hero-image{object-position:center}.cmp-overview-grid,.cmp-product-grid,.cmp-result-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.4rem .8rem}.cmp-overview-title,.cmp-product-card-title{font-size:.85rem}.cmp-product-information{grid-template-columns:1fr}.cmp-gallery-list-heading{display:block}.cmp-gallery-hero{min-height:310px}.cmp-search-suggestions{width:100%}.cmp-image-product{padding-top:1rem}}
.cmp-shop-hero{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:end;min-height:clamp(240px,24vw,340px);background:#eaf0eb;padding:3rem 0}.cmp-shop-hero.has-image{color:#fff}.cmp-shop-hero.has-image:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#09170fbc,transparent 80%)}.cmp-shop-hero .cmp-shop-hero-image{position:absolute;inset:0;z-index:-2;width:100%;max-width:none;height:100%;object-fit:cover}.cmp-shop-hero h1{font-size:clamp(2.5rem,5vw,4.4rem);letter-spacing:-.05em;line-height:1;margin:.2rem 0}.cmp-shop-hero p:last-child{max-width:52ch}.cmp-shop-body{padding-block:3.5rem 5rem}.cmp-shop-product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.4rem}.cmp-shop-product{border:1px solid var(--cmp-line);display:flex;flex-direction:column}.cmp-shop-product-image{display:grid;place-items:center;aspect-ratio:1.25;background:var(--cmp-soft);padding:1.2rem}.cmp-shop-product-image img{max-height:100%;width:auto;height:auto;object-fit:contain}.cmp-shop-product-copy{padding:1.2rem;display:flex;flex-direction:column;flex:1}.cmp-shop-product-copy h3{font-size:1.1rem;line-height:1.25;margin:0 0 .5rem}.cmp-shop-price{font-weight:700;margin:.2rem 0 1rem}.cmp-stock-label{color:var(--cmp-muted);font-weight:700;margin:auto 0 0}.cmp-direct-buy{display:flex;align-items:center;gap:.6rem;margin-top:auto;flex-wrap:wrap}.cmp-direct-buy label{font-size:.94rem;font-weight:700}.cmp-direct-buy input{width:65px;min-height:44px;border:1px solid var(--cmp-line);padding:.45rem}.cmp-shop-information{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem;border-top:1px solid var(--cmp-line);margin-top:4rem;padding-top:2rem}.cmp-shop-information h2,.cmp-shop-reviews h2,.cmp-shop-newsletter h2{font-size:1.35rem;margin:0 0 .5rem}.cmp-shop-information p{color:var(--cmp-muted)}.cmp-shop-reviews{margin-top:4rem}.cmp-review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.cmp-review-grid blockquote{margin:0;background:var(--cmp-soft);padding:1.4rem;font-size:.95rem}.cmp-review-grid cite{font-style:normal;font-weight:700}.cmp-shop-newsletter{display:flex;justify-content:space-between;align-items:center;gap:2rem;background:var(--cmp-soft);padding:2rem;margin-top:4rem}.cmp-shop-newsletter p{margin:0}.cmp-voucher-feature{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:3rem;background:var(--cmp-soft);margin-bottom:4rem}.cmp-voucher-feature>div:first-child{display:grid;place-items:center;min-height:250px}.cmp-voucher-feature img{max-height:330px;object-fit:contain}.cmp-voucher-feature>div:last-child{padding:2rem}.cmp-voucher-feature h2{font-size:clamp(1.5rem,3vw,2.5rem);margin:.2rem 0}
@media(max-width:820px){.cmp-shop-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cmp-review-grid{grid-template-columns:1fr 1fr}.cmp-voucher-feature{gap:1rem}}
@media(max-width:600px){.cmp-shop-hero{min-height:260px}.cmp-shop-product-grid,.cmp-shop-information,.cmp-review-grid,.cmp-voucher-feature{grid-template-columns:1fr}.cmp-shop-newsletter{display:block}.cmp-shop-newsletter .cmp-button{margin-top:1rem}.cmp-voucher-feature>div:last-child{padding:0 1.5rem 2rem}}

/* Sectioned shop landing pages */
.cmp-shop-landing .cmp-shop-hero{min-height:clamp(460px,58vw,690px);align-items:center;padding:5rem 0;background:#e5eee6}
.cmp-shop-landing .cmp-shop-hero.has-image:after{background:linear-gradient(90deg,rgba(9,25,17,.88) 0%,rgba(9,25,17,.72) 40%,rgba(9,25,17,.1) 100%)}
.cmp-shop-landing .cmp-shop-hero .cmp-shop-hero-image{object-position:center 45%}
.cmp-shop-hero-inner{position:relative}
.cmp-shop-landing .cmp-shop-hero h1{max-width:9.5ch;font-size:clamp(3.2rem,7vw,7rem);line-height:.96;letter-spacing:-.065em;margin:.8rem 0 1.2rem}
.cmp-shop-landing .cmp-shop-hero .cmp-eyebrow{color:inherit;letter-spacing:.17em}
.cmp-shop-hero-intro{max-width:53ch;font-size:clamp(1rem,1.35vw,1.22rem);line-height:1.65}
.cmp-shop-hero-cta{display:inline-flex;align-items:center;gap:1.2rem;margin-top:1rem}
.cmp-shop-feature{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.95fr);gap:clamp(2rem,6vw,7rem);align-items:center;padding-block:clamp(3.5rem,6vw,6rem)}
.cmp-shop-feature-copy{max-width:610px}
.cmp-shop-feature h2,.cmp-shop-range h2,.cmp-shop-information h2,.cmp-shop-faq h2{font-size:clamp(2.15rem,4vw,4.2rem);line-height:1.08;letter-spacing:-.055em;margin:.5rem 0 1.3rem}
.cmp-shop-feature-copy>p:not(.cmp-eyebrow){font-size:1.09rem;line-height:1.75;color:var(--cmp-muted)}
.cmp-shop-text-link{display:inline-block;margin-top:1rem;border-bottom:1px solid currentColor;padding-bottom:.3rem;color:var(--cmp-green);font-weight:800}
.cmp-shop-feature-image{display:grid;place-items:center;min-height:360px;aspect-ratio:1.15;background:#e9eee8;overflow:hidden}
.cmp-shop-feature-image img{max-height:480px;width:100%;height:100%;object-fit:contain;padding:1rem}
.cmp-shop-range{scroll-margin-top:calc(var(--cmp-admin-bar-height) + var(--cmp-header-height) + 1rem);background:#f6f8f5;padding-block:clamp(3.5rem,6vw,6rem)}
.cmp-shop-range-heading{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:2.5rem}
.cmp-shop-range-heading h2{margin-bottom:.6rem}
.cmp-shop-range-heading p:last-child{max-width:61ch;color:var(--cmp-muted);margin:0}
.cmp-shop-range-count{white-space:nowrap;font-size:.75rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--cmp-green);border-bottom:1px solid var(--cmp-green);padding-bottom:.35rem}
.cmp-shop-availability{max-width:760px;border-left:4px solid var(--cmp-green);background:#fff;padding:1rem 1.4rem;margin-bottom:2rem}
.cmp-shop-availability p{margin:.3rem 0 0}
.cmp-shop-landing .cmp-shop-product{background:#fff;border:1px solid #dfe6df}
.cmp-shop-landing .cmp-shop-product-image{aspect-ratio:1.1;background:#eef2ec;padding:1.4rem}
.cmp-shop-landing .cmp-shop-product-copy{padding:1.35rem}
.cmp-shop-format{font-size:.68rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--cmp-green);margin-bottom:.5rem}
.cmp-shop-landing .cmp-shop-product-copy h3{font-size:1.16rem;line-height:1.35}
.cmp-shop-landing .cmp-shop-price{font-size:1.1rem;color:var(--cmp-green)}
.cmp-shop-christmas-cards .cmp-card-pack-note{margin:0 0 .55rem;color:var(--cmp-muted);font-size:.88rem;line-height:1.45;font-style:italic}
.cmp-shop-preview{margin:0 0 1rem;font-size:.79rem}
.cmp-shop-preview summary{color:var(--cmp-green);font-weight:700;cursor:pointer}
.cmp-shop-preview-images{display:flex;gap:.4rem;margin-top:.7rem;max-width:100%;overflow-x:auto;padding-bottom:.4rem}
.cmp-shop-preview-images img{width:70px;height:70px;flex:none;object-fit:cover;background:#eef2ec}
.cmp-shop-landing .cmp-shop-information{grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:clamp(2rem,7vw,8rem);border:0;padding-block:clamp(4rem,7vw,7rem);margin-top:0}
.cmp-shop-information-intro>p:last-child{color:var(--cmp-muted)}
.cmp-shop-information-points>div{border-top:1px solid var(--cmp-line);padding:1.4rem 0}
.cmp-shop-information-points h3{font-size:1.05rem;margin:0 0 .5rem}
.cmp-shop-information-points p{margin:0;line-height:1.75}
.cmp-shop-landing .cmp-shop-reviews{margin-block:0 5rem}
.cmp-shop-landing .cmp-shop-reviews h2{font-size:clamp(2rem,3vw,3rem);letter-spacing:-.04em}
.cmp-shop-faq{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:clamp(2rem,6vw,7rem);padding-block:clamp(3rem,6vw,6rem);border-top:1px solid var(--cmp-line)}
.cmp-shop-faq-list details{border-bottom:1px solid var(--cmp-line);padding:1.2rem 0}
.cmp-shop-faq-list summary{font-weight:700;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:1rem}
.cmp-shop-faq-list summary::-webkit-details-marker{display:none}
.cmp-shop-faq-list summary:after{content:'+';color:var(--cmp-green);font-size:1.4rem;line-height:1}
.cmp-shop-faq-list details[open] summary:after{content:'−'}
.cmp-shop-faq-list p{max-width:65ch;color:var(--cmp-muted);line-height:1.7}
.cmp-shop-landing .cmp-shop-newsletter{margin-block:0 4rem;padding:clamp(2rem,4vw,4rem);background:#234e39;color:#fff}
.cmp-shop-landing .cmp-shop-newsletter h2{font-size:clamp(2rem,3vw,3.3rem);letter-spacing:-.04em}
.cmp-shop-landing .cmp-shop-newsletter .cmp-eyebrow{color:#c8e5d1}
.cmp-shop-landing .cmp-shop-newsletter .cmp-button{background:#fff;color:var(--cmp-green)}
.cmp-shop-end-link{text-align:right;padding-bottom:4rem;color:var(--cmp-green);font-size:.8rem;font-weight:800}
.cmp-shop-landing .cmp-voucher-feature{margin-bottom:5rem}
.cmp-shop-landing .cmp-shop-hero{background:#202a22;color:#fff}
.cmp-shop-landing .cmp-shop-hero .cmp-shop-hero-image{left:auto;right:0;width:50%;height:100%;object-fit:contain;object-position:center;padding:clamp(1rem,3vw,3rem);background:#26372b}
.cmp-shop-landing .cmp-shop-hero.has-image:after{background:linear-gradient(90deg,#202a22 0%,#202a22 47%,rgba(32,42,34,0) 63%)}
.cmp-shop-landing .cmp-shop-hero h1,.cmp-shop-landing .cmp-shop-hero-intro{max-width:49%}
.cmp-shop-landing .cmp-shop-hero .cmp-shop-hero-image{z-index:0}
.cmp-shop-landing .cmp-shop-hero.has-image:after{z-index:1}
.cmp-shop-landing .cmp-shop-hero-inner{z-index:2}
@media(max-width:820px){.cmp-shop-landing .cmp-shop-hero{min-height:500px}.cmp-shop-feature,.cmp-shop-landing .cmp-shop-information,.cmp-shop-faq{grid-template-columns:1fr;gap:1.5rem}.cmp-shop-feature-image{max-height:430px}}
@media(max-width:600px){.cmp-shop-landing .cmp-shop-hero{display:block;min-height:0;padding:350px 0 3.5rem}.cmp-shop-landing .cmp-shop-hero .cmp-shop-hero-image{top:0;left:0;right:0;width:100%;height:320px;padding:1rem}.cmp-shop-landing .cmp-shop-hero.has-image:after{background:none}.cmp-shop-landing .cmp-shop-hero h1,.cmp-shop-landing .cmp-shop-hero-intro{max-width:100%}.cmp-shop-landing .cmp-shop-hero h1{font-size:clamp(3.3rem,13vw,5rem)}.cmp-shop-feature{padding-block:4rem}.cmp-shop-feature-image{min-height:250px}.cmp-shop-range-heading{display:block}.cmp-shop-range-count{display:inline-block;margin-top:1rem}.cmp-shop-landing .cmp-shop-newsletter{margin-inline:1rem}.cmp-shop-landing .cmp-voucher-feature{margin-inline:1rem}}

/* Christmas card choices and custom pack */
.cmp-cards-routes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-block:2rem 0}
.cmp-cards-routes a{display:flex;align-items:center;gap:1rem;border:1px solid var(--cmp-line);padding:1.3rem 1.6rem;background:#fff}
.cmp-cards-routes a:hover{border-color:var(--cmp-green);background:var(--cmp-soft)}
.cmp-cards-routes a span:first-child{font-size:.68rem;color:var(--cmp-green);font-weight:800;letter-spacing:.12em}
.cmp-cards-routes a strong{font-size:1.05rem}
.cmp-cards-routes a span:last-child{margin-left:auto;color:var(--cmp-green)}
.cmp-cards-builder{scroll-margin-top:calc(var(--cmp-admin-bar-height) + var(--cmp-header-height) + 1rem);padding-block:clamp(4rem,7vw,7rem)}
.cmp-cards-builder-heading{display:flex;justify-content:space-between;align-items:start;gap:2rem;margin-bottom:2rem}
.cmp-cards-builder-heading h2{font-size:clamp(2.4rem,5vw,5rem);line-height:1;letter-spacing:-.055em;margin:.4rem 0 1rem}
.cmp-cards-builder-heading p:last-child{max-width:64ch;color:var(--cmp-muted)}
.cmp-cards-builder-heading{text-align:center;justify-content:center}.cmp-cards-builder-heading p:last-child{margin-inline:auto}
.cmp-cards-builder-number{display:none}
.cmp-cards-config{display:grid;grid-template-columns:auto minmax(180px,280px) 1fr;align-items:center;gap:1rem 1.5rem;background:#eaf0eb;padding:1.4rem 1.7rem;margin-bottom:2rem}
.cmp-cards-config label{font-weight:800}
.cmp-cards-config select{min-height:48px;width:100%;border:1px solid var(--cmp-line);background:#fff;padding:.6rem}
.cmp-cards-count{text-align:right;font-weight:800;color:var(--cmp-green)}
.cmp-cards-progress{grid-column:1/-1;height:7px;background:#d4e1d8}
.cmp-cards-progress span{display:block;width:0;height:100%;background:var(--cmp-green);transition:width .2s}
.cmp-cards-design-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.cmp-cards-design{border:1px solid var(--cmp-line);background:#fff;min-width:0}
.cmp-cards-design-image{display:grid;place-items:center;aspect-ratio:1.18;background:#eef2ec;padding:.65rem}
.cmp-cards-design-image img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
.cmp-cards-design-bottom{padding:.8rem;text-align:center}
.cmp-cards-design h3{font-size:.84rem;line-height:1.35;min-height:2.6em;margin:0 0 .8rem}
.cmp-cards-stepper{display:flex;width:max-content;border:1px solid var(--cmp-line);margin-inline:auto}
.cmp-cards-stepper button,.cmp-cards-stepper input{height:38px;border:0;background:#fff;text-align:center}
.cmp-cards-stepper button{width:38px;font-size:1.25rem;color:var(--cmp-green)}
.cmp-cards-stepper button:hover{background:var(--cmp-soft)}
.cmp-cards-stepper input{width:45px;appearance:textfield;font-weight:800}
.cmp-cards-stepper input::-webkit-outer-spin-button,.cmp-cards-stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.cmp-cards-stock{margin:0;color:var(--cmp-green);font-size:.76rem;font-weight:800}
.cmp-cards-error{margin:-1rem 0 1.25rem;padding:.7rem 1rem;background:#f8e9e6;color:#802f2f;font-size:.86rem;font-weight:700}
.cmp-shop-notices{padding-top:1rem}
.cmp-shop-notices .woocommerce-error{margin:0;padding:1rem 1.2rem 1rem 2.8rem;border-top-color:#802f2f}
.cmp-cards-design:has(.cmp-cards-stepper input:disabled) .cmp-cards-stock{color:#802f2f}
.cmp-cards-stepper button:disabled{opacity:.4;cursor:not-allowed}
.cmp-cards-submit{position:sticky;top:calc(var(--cmp-admin-bar-height) + var(--cmp-header-height));z-index:30;display:flex;justify-content:center;align-items:center;gap:2rem;background:#202a22;color:#fff;padding:1.2rem 2rem;margin-bottom:1.2rem;text-align:center;box-shadow:0 8px 20px #0b1c1226}
.cmp-cards-submit p{margin:.2rem 0 0;color:#d7e6d9}
.cmp-cards-submit .cmp-button:disabled{opacity:.55;cursor:not-allowed}
@media(max-width:900px){.cmp-cards-design-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.cmp-cards-routes{grid-template-columns:1fr}.cmp-cards-builder-heading{display:block}.cmp-cards-builder-number{display:none}.cmp-cards-config{grid-template-columns:1fr;gap:.6rem}.cmp-cards-progress{grid-column:1}.cmp-cards-count{text-align:center}.cmp-cards-design-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.cmp-cards-design-bottom{padding:.65rem}.cmp-cards-design h3{font-size:.77rem}.cmp-cards-submit{position:sticky;top:calc(var(--cmp-admin-bar-height) + var(--cmp-header-height));z-index:30;display:block;padding:.65rem .8rem;box-shadow:0 8px 20px #0b1c1240}.cmp-cards-submit p{font-size:.78rem}.cmp-cards-submit .cmp-button{margin-top:.5rem;width:100%}.cmp-galleries .cmp-gallery-grid{grid-template-columns:1fr;gap:1.5rem}.cmp-galleries .cmp-card-image{aspect-ratio:16/9}}
.cmp-basket-toast{position:fixed;left:50%;bottom:1.25rem;z-index:1000;max-width:min(92vw,540px);padding:.8rem 1.2rem;background:#203d2c;color:#fff;box-shadow:0 12px 32px #1226184d;text-align:center;font-weight:700;font-size:.85rem;transform:translate(-50%,12px);opacity:0;transition:transform .22s ease,opacity .22s ease;pointer-events:none}
.cmp-basket-toast.is-visible{transform:translate(-50%,0);opacity:1}.cmp-basket-toast.is-error{background:#802f2f}.cmp-basket-toast[hidden]{display:none}
[id^="trustpilot-widget-"][id$="-wrapper"]{display:none!important}
@media(prefers-reduced-motion:reduce){.cmp-basket-toast{transition:none}}

/* Photography Workshops: Course-style landing, without a separate page title band. */
.cmp-workshops-page{overflow:hidden}
.cmp-workshops-hero{position:relative;isolation:isolate;display:flex;align-items:center;min-height:620px;background:#1d3025;color:#fff;padding:5rem 0}
.cmp-workshops-hero-image{position:absolute;z-index:-2;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 40%}
.cmp-workshops-hero:after{content:'';position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(9,25,17,.92),rgba(9,25,17,.64) 52%,rgba(9,25,17,.18))}
.cmp-workshops-hero-inner{position:relative}
.cmp-workshops-hero .cmp-eyebrow{color:#d7ecdc}
.cmp-workshops-hero h1{max-width:11ch;font-size:clamp(3.2rem,6.7vw,6.7rem);line-height:.97;letter-spacing:-.065em;margin:.7rem 0 1.3rem}
.cmp-workshops-lead{max-width:48ch;font-size:clamp(1.05rem,1.5vw,1.3rem);line-height:1.6;margin:0 0 2rem}
.cmp-workshops-promise{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;border-bottom:1px solid var(--cmp-line);padding-block:1.8rem}
.cmp-workshops-promise div{display:grid;gap:.3rem;border-left:2px solid var(--cmp-green);padding-left:1rem}
.cmp-workshops-promise strong{font-size:.86rem}.cmp-workshops-promise span{font-size:.78rem;color:var(--cmp-muted)}
.cmp-workshops-range{padding-block:clamp(4rem,7vw,7rem)}
.cmp-workshops-intro{max-width:730px;margin-bottom:2.2rem}
.cmp-workshops-intro h2,.cmp-workshops-split h2,.cmp-workshops-three-day h2,.cmp-workshops-close h2{font-size:clamp(2.2rem,4vw,4.2rem);line-height:1.08;letter-spacing:-.05em;margin:.4rem 0 1rem}
.cmp-workshops-intro>p:last-child,.cmp-workshops-split p,.cmp-workshops-three-day p{color:var(--cmp-muted);line-height:1.65}
.cmp-workshops-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.3rem}
.cmp-workshop-card{min-width:0;background:#f4f6f3;border:1px solid var(--cmp-line)}
.cmp-workshop-card-image{aspect-ratio:1.8;background:#dde8dd;overflow:hidden}
.cmp-workshop-card-image img{width:100%;height:100%;object-fit:cover}
.cmp-workshop-card-body{padding:clamp(1.3rem,2vw,2rem)}
.cmp-workshop-card h3{font-size:clamp(1.5rem,2.4vw,2.2rem);line-height:1.15;letter-spacing:-.04em;margin:.3rem 0 .7rem}
.cmp-workshop-card h3 a:hover{text-decoration:underline}
.cmp-workshop-card-body>p:not(.cmp-eyebrow){margin:.5rem 0 1.2rem;color:var(--cmp-muted)}
.cmp-workshop-card-facts{display:flex;gap:.45rem;flex-wrap:wrap;margin:1.4rem 0}
.cmp-workshop-card-facts span{border:1px solid #cbd9cf;padding:.3rem .55rem;font-size:.69rem;font-weight:700}
.cmp-workshop-price{font-size:1.3rem;font-weight:800;color:var(--cmp-green)!important}
.cmp-workshop-price small,.cmp-workshops-three-day-price small{display:block;color:var(--cmp-muted);font-size:.65rem;letter-spacing:.12em;text-transform:uppercase}
.cmp-workshops-availability{border-left:3px solid var(--cmp-green);background:#edf4ed;padding:1.2rem 1.4rem;margin:2rem 0 0}
.cmp-workshops-availability a{color:var(--cmp-green);font-weight:800;text-decoration:underline}
.cmp-workshops-method{background:#edf3ee;padding-block:clamp(4rem,7vw,7rem)}
.cmp-workshops-split{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(2rem,6vw,7rem);align-items:start}
.cmp-workshops-method ol{padding:0;margin:1.7rem 0 0;list-style:none;counter-reset:steps}
.cmp-workshops-method li{counter-increment:steps;display:grid;grid-template-columns:48px 1fr;gap:0 1rem;padding:1rem 0;border-top:1px solid #cddbd0}
.cmp-workshops-method li:before{content:'0' counter(steps);grid-row:1/3;color:var(--cmp-green);font-size:.77rem;font-weight:800;letter-spacing:.1em}
.cmp-workshops-method li strong{font-size:1.1rem}.cmp-workshops-method li span{color:var(--cmp-muted);font-size:.86rem}
.cmp-workshops-about{padding-block:clamp(4rem,7vw,7rem)}
.cmp-workshops-three-day{display:flex;justify-content:space-between;align-items:center;gap:2rem;background:#e6eee7;padding:clamp(2rem,4vw,4rem);margin-bottom:clamp(4rem,7vw,7rem)}
.cmp-workshops-three-day>div{max-width:680px}.cmp-workshops-three-day-price{white-space:nowrap;font-size:2.2rem;font-weight:800;color:var(--cmp-green)!important}
.cmp-workshops-faq{margin-bottom:clamp(4rem,7vw,7rem)}
.cmp-workshops-close{background:#203c2c;color:#fff;text-align:center;padding-block:clamp(4rem,7vw,7rem)}
.cmp-workshops-close .cmp-eyebrow{color:#c9e6d2}.cmp-workshops-close h2{max-width:14ch;margin-inline:auto}.cmp-workshops-close p:not(.cmp-eyebrow){color:#d7e7da}
@media(max-width:820px){.cmp-workshops-hero{min-height:550px}.cmp-workshops-promise{grid-template-columns:1fr}.cmp-workshops-split{grid-template-columns:1fr;gap:1rem}}
@media(max-width:600px){.cmp-workshops-hero{min-height:570px;align-items:end;padding:3rem 0}.cmp-workshops-hero:after{background:linear-gradient(0deg,rgba(9,25,17,.93),rgba(9,25,17,.48) 65%,rgba(9,25,17,.2))}.cmp-workshops-hero h1{font-size:clamp(3rem,12vw,4.5rem)}.cmp-workshops-grid{grid-template-columns:1fr}.cmp-workshops-three-day{display:block}.cmp-workshops-three-day-price{margin-bottom:0}}

/* Compact Old Edinburgh Tour landing */
.cmp-tour-page{overflow:hidden}
.cmp-tour-hero{position:relative;isolation:isolate;display:flex;align-items:center;min-height:560px;padding:5rem 0;background:#203b2b;color:#fff}
.cmp-tour-hero-image{position:absolute;z-index:-2;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 43%}
.cmp-tour-hero:after{content:'';position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(8,25,15,.94),rgba(8,25,15,.66) 52%,rgba(8,25,15,.14))}
.cmp-tour-hero .cmp-eyebrow{color:#d6e9d8}
.cmp-tour-hero h1{max-width:12ch;font-size:clamp(3rem,6vw,6rem);line-height:.98;letter-spacing:-.06em;margin:.7rem 0 1.2rem}
.cmp-tour-hero-inner>p:not(.cmp-eyebrow){max-width:47ch;font-size:clamp(1rem,1.45vw,1.22rem);line-height:1.6;margin-bottom:2rem}
.cmp-tour-quick{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;padding-block:1.6rem;border-bottom:1px solid var(--cmp-line)}
.cmp-tour-quick>span{font-size:1rem;color:var(--cmp-muted);line-height:1.5;padding-inline:clamp(1rem,3vw,3rem)}.cmp-tour-quick>span:first-child{padding-left:0}.cmp-tour-quick>span+span{border-left:1px solid var(--cmp-line)}.cmp-tour-quick strong{display:block;color:var(--cmp-ink);font-size:1.3rem}
.cmp-tour-intro,.cmp-tour-details{padding-block:clamp(4rem,7vw,7rem)}
.cmp-tour-intro h2,.cmp-tour-places h2,.cmp-tour-details h2,.cmp-tour-booking h2{font-size:clamp(2.2rem,4vw,4.2rem);line-height:1.1;letter-spacing:-.05em;margin:.35rem 0 1rem}
.cmp-tour-intro p:not(.cmp-eyebrow),.cmp-tour-places p:not(.cmp-eyebrow),.cmp-tour-details p:not(.cmp-eyebrow){color:var(--cmp-muted);line-height:1.7}
.cmp-tour-places{background:#ecf2ed;padding-block:clamp(4rem,7vw,7rem)}
.cmp-tour-places-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(2rem,6vw,6rem);align-items:center}
.cmp-tour-route-gallery{min-width:0}.cmp-tour-route-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;scroll-behavior:smooth}.cmp-tour-route-track::-webkit-scrollbar{display:none}.cmp-tour-route-slide{flex:0 0 100%;position:relative;margin:0;aspect-ratio:4/3;scroll-snap-align:start;background:#d7e3d9}.cmp-tour-route-slide img{display:block;width:100%;height:100%;object-fit:cover}.cmp-tour-route-controls{display:flex;align-items:center;justify-content:flex-end;gap:.85rem;padding:.7rem 0}.cmp-tour-route-controls button{width:40px;height:40px;border:1px solid #b9cbbd;background:#fff;color:var(--cmp-green);font-size:1.6rem;line-height:1;cursor:pointer}.cmp-tour-route-controls button:hover,.cmp-tour-route-controls button:focus-visible{background:var(--cmp-green);color:#fff}.cmp-tour-route-count{min-width:3rem;text-align:center;font-size:.85rem;font-weight:700;color:var(--cmp-green)}
.cmp-tour-features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.3rem;margin-top:2rem}
.cmp-tour-features>div{border-top:2px solid var(--cmp-green);padding:1.25rem 0 0}
.cmp-tour-features span{color:var(--cmp-green);font-size:.7rem;font-weight:800;letter-spacing:.12em}
.cmp-tour-features h3{font-size:1.25rem;line-height:1.2;letter-spacing:-.03em;margin:.55rem 0}
.cmp-tour-features p{font-size:.95rem;line-height:1.55;margin:0}
.cmp-tour-pricing{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.9fr);align-items:center;gap:clamp(2rem,5vw,5rem);background:#e8f0e8;padding:clamp(2rem,4vw,3rem);margin-bottom:clamp(4rem,7vw,7rem)}
.cmp-tour-pricing-copy{max-width:650px}.cmp-tour-pricing h2{font-size:clamp(2.2rem,4vw,4rem);letter-spacing:-.05em;line-height:1.05;margin:.3rem 0 1.3rem}.cmp-tour-pricing-copy p:not(.cmp-eyebrow){color:var(--cmp-muted);font-size:1.05rem;line-height:1.6}
.cmp-tour-pricing-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem}.cmp-tour-pricing-facts>div{border-left:2px solid var(--cmp-green);padding-left:1rem}.cmp-tour-pricing-facts strong{display:block;font-size:clamp(1.6rem,2.4vw,2.3rem);line-height:1.1;color:var(--cmp-green);white-space:nowrap}.cmp-tour-pricing-facts .woocommerce-Price-amount,.cmp-tour-pricing-facts .woocommerce-Price-currencySymbol{display:inline;font:inherit;color:inherit}.cmp-tour-pricing-facts span:not(.woocommerce-Price-amount):not(.woocommerce-Price-currencySymbol){display:block;margin-top:.45rem;font-size:.95rem;color:var(--cmp-muted);line-height:1.4}
.cmp-tour-page .cmp-shop-reviews{margin-block:0 5rem}
.cmp-tour-faq{margin-bottom:clamp(4rem,7vw,7rem)}
.cmp-tour-booking{background:#203c2c;color:#fff;padding-block:clamp(4rem,7vw,7rem)}
.cmp-tour-booking .cmp-eyebrow{color:#c9e6d2}.cmp-tour-booking h2{max-width:15ch}.cmp-tour-booking p:not(.cmp-eyebrow){max-width:60ch;color:#d7e7da;line-height:1.65}
.cmp-tour-date-list{max-width:960px;margin:2rem 0}.cmp-tour-date-list>div{display:flex;align-items:center;gap:1rem 2rem;flex-wrap:wrap;padding:1rem 0;border-top:1px solid #577562}.cmp-tour-date-list>div>strong{min-width:160px}.cmp-tour-date-list>div>span:last-of-type{margin-left:auto;font-size:.77rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#d7e7da}
.cmp-tour-months{max-width:960px;margin:2rem 0 2.5rem;border-top:1px solid #577562}
.cmp-tour-month{border-bottom:1px solid #577562}
.cmp-tour-month>summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.15rem 0;cursor:pointer;list-style:none;font-size:1.2rem;font-weight:700}
.cmp-tour-month>summary::-webkit-details-marker{display:none}
.cmp-tour-month>summary span:last-child{font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#d7e7da;white-space:nowrap}
.cmp-tour-month>summary span[aria-hidden]{display:inline-block;margin-left:.6rem;font-size:1.25rem;line-height:1;transition:transform .2s}
.cmp-tour-month[open]>summary span[aria-hidden]{transform:rotate(180deg)}
.cmp-tour-month>summary:focus-visible{outline:2px solid #fff;outline-offset:4px}
.cmp-tour-month .cmp-tour-date-list{margin:0 0 .75rem}
.cmp-tour-month .cmp-tour-date-list>div:first-child{border-top:0}
.cmp-support-hero{background:#e9efe8;padding:clamp(4rem,8vw,7rem) 0}
.cmp-support-hero .cmp-eyebrow{color:var(--cmp-green-dark)}
.cmp-support-hero h1{max-width:15ch;font-size:clamp(3rem,7vw,6.5rem);line-height:.98;letter-spacing:-.065em;margin:.6rem 0 1.3rem}
.cmp-support-hero p:last-child{max-width:62ch;font-size:clamp(1.05rem,1.6vw,1.3rem);line-height:1.6}
.cmp-support-story{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:clamp(3rem,7vw,8rem);align-items:center;padding-block:clamp(4.5rem,8vw,8rem)}
.cmp-support-story h2,.cmp-contact-content h2,.cmp-support-close h2{font-size:clamp(2.2rem,4vw,4.2rem);line-height:1.08;letter-spacing:-.05em;margin:.5rem 0 1.5rem}
.cmp-support-story-copy{max-width:64ch}.cmp-support-story-copy p:not(.cmp-eyebrow){line-height:1.8;color:var(--cmp-muted)}
.cmp-support-story-photo{min-height:360px;background:#dce7dd;overflow:hidden}.cmp-support-story-photo img{width:100%;height:100%;min-height:360px;object-fit:cover}
.cmp-support-facts{background:#203c2c;color:#fff}.cmp-support-facts .cmp-container{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;padding-block:2rem}.cmp-support-facts p{font-size:1.05rem;font-weight:700;margin:0}
.cmp-support-close{padding-block:clamp(4.5rem,8vw,8rem)}.cmp-support-close p{max-width:60ch;color:var(--cmp-muted);line-height:1.7}.cmp-support-actions{display:flex;align-items:center;flex-wrap:wrap;gap:1rem;margin-top:2rem}.cmp-support-actions .cmp-button-light{border-color:var(--cmp-green);color:var(--cmp-green)}
.cmp-contact-content{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);gap:clamp(3rem,7vw,8rem);padding-block:clamp(4.5rem,8vw,8rem)}
.cmp-contact-form-wrap>p:not(.cmp-eyebrow){max-width:60ch;color:var(--cmp-muted)}.cmp-contact-aside{border-left:1px solid var(--cmp-line);padding-left:clamp(1.5rem,4vw,4rem)}.cmp-contact-aside h2{font-size:clamp(1.7rem,2.5vw,2.6rem)}.cmp-contact-aside>div{padding:1.3rem 0;border-top:1px solid var(--cmp-line)}.cmp-contact-aside h3{font-size:1.05rem;margin:0 0 .45rem}.cmp-contact-aside p{color:var(--cmp-muted);line-height:1.65;margin:0}
.cmp-contact-form-wrap .wpforms-container{margin:2rem 0 0}.cmp-contact-form-wrap .wpforms-field-label{font-weight:700!important}.cmp-contact-form-wrap input:not([type=checkbox]),.cmp-contact-form-wrap textarea,.cmp-contact-form-wrap select{border:1px solid #c7d2c8!important;border-radius:0!important;background:#fff!important;max-width:100%!important}.cmp-contact-form-wrap .wpforms-submit{background:var(--cmp-green)!important;border:1px solid var(--cmp-green)!important;border-radius:0!important;color:#fff!important;font-weight:700!important;padding:.8rem 1.5rem!important;height:auto!important}

/* Basket and checkout keep WooCommerce's forms, validation and payment flow. */
body.woocommerce-cart .cmp-standard-page,body.woocommerce-checkout .cmp-standard-page{width:min(calc(100% - 2rem),var(--cmp-width));max-width:var(--cmp-width);padding-block:clamp(2.5rem,5vw,4.5rem) clamp(4rem,7vw,6rem)}
body.woocommerce-cart .cmp-standard-page>article>h1,body.woocommerce-checkout .cmp-standard-page>article>h1{margin:0 0 clamp(1.8rem,3vw,2.6rem);font-size:clamp(2.4rem,4vw,3.5rem);line-height:1.05;letter-spacing:-.045em}
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form){display:grid;grid-template-columns:minmax(0,1.7fr) minmax(330px,.82fr);gap:0 clamp(2rem,4vw,4rem);align-items:start}
body.woocommerce-cart .woocommerce-notices-wrapper{grid-column:1/-1}
body.woocommerce-cart .woocommerce-cart-form{grid-column:1;min-width:0}
body.woocommerce-cart .cart-collaterals{grid-column:2;min-width:0;background:var(--cmp-soft);padding:clamp(1.25rem,2.5vw,2rem)}
body.woocommerce-cart .cart-collaterals .cart_totals{float:none;width:100%}
body.woocommerce-cart .cart_totals h2{margin:0 0 1rem;font-size:1.55rem;line-height:1.2;letter-spacing:-.025em}
body.woocommerce-cart .woocommerce table.shop_table,body.woocommerce-checkout .woocommerce table.shop_table{width:100%;border:0;border-collapse:collapse;border-radius:0;background:transparent;margin:0}
body.woocommerce-cart .woocommerce table.shop_table th,body.woocommerce-cart .woocommerce table.shop_table td,body.woocommerce-checkout .woocommerce table.shop_table th,body.woocommerce-checkout .woocommerce table.shop_table td{border:0;border-bottom:1px solid var(--cmp-line);padding:.9rem .75rem;vertical-align:middle}
body.woocommerce-cart .woocommerce-cart-form table.shop_table thead{background:var(--cmp-soft)}
body.woocommerce-cart .woocommerce-cart-form table.shop_table thead th{font-size:.76rem;letter-spacing:.045em;text-transform:uppercase}
body.woocommerce-cart .woocommerce-cart-form table.shop_table .product-thumbnail img{width:72px;max-width:72px;height:72px;object-fit:contain;background:#fff}
body.woocommerce-cart .woocommerce-cart-form table.shop_table .product-name a{font-weight:700;text-decoration:none}
body.woocommerce-cart .woocommerce-cart-form table.shop_table .product-name a:hover{text-decoration:underline;text-underline-offset:3px}
body.woocommerce-cart .woocommerce-cart-form a.remove{display:inline-grid;place-items:center;width:34px;height:34px;border:1px solid var(--cmp-line);border-radius:0;color:var(--cmp-muted)!important;font-size:1.35rem;font-weight:400;text-decoration:none!important}
body.woocommerce-cart .woocommerce-cart-form a.remove:hover{background:#f7eceb;color:#8e2929!important;border-color:#e3b4b0}
body.woocommerce-cart .woocommerce-cart-form .quantity input.qty{width:66px;min-height:44px;border:1px solid #bfcfc3;border-radius:0;background:#fff;text-align:center}
body.woocommerce-cart .woocommerce-cart-form td.actions{padding:1.2rem 0;border-bottom:0}
body.woocommerce-cart .woocommerce-cart-form .coupon{display:flex;gap:.55rem;align-items:center}
body.woocommerce-cart .woocommerce-cart-form .coupon input.input-text{float:none;min-width:150px;min-height:44px;margin:0;border:1px solid #bfcfc3;border-radius:0;padding:.65rem .75rem}
body.woocommerce-cart .cart_totals table.shop_table th{width:36%;font-weight:700}
body.woocommerce-cart .cart_totals table.shop_table td{text-align:right;overflow-wrap:anywhere}
body.woocommerce-cart .cart_totals .shipping td{text-align:left}
body.woocommerce-cart .cart_totals .order-total th,body.woocommerce-cart .cart_totals .order-total td{font-size:1.12rem;color:var(--cmp-green-dark)}
body.woocommerce-cart .woocommerce-shipping-destination{font-size:.82rem;line-height:1.5;color:var(--cmp-muted);margin:.7rem 0}
body.woocommerce-cart .shipping-calculator-button{font-size:.82rem;font-weight:700}
body.woocommerce-cart .wc-proceed-to-checkout{padding:1.3rem 0 0}
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{display:flex;align-items:center;justify-content:center;width:100%;min-height:50px;margin:0}
body.woocommerce-cart .woocommerce:has(> .cart-empty){max-width:660px;padding:clamp(1.5rem,4vw,2.5rem);background:var(--cmp-soft)}
body.woocommerce-cart .woocommerce .cart-empty{margin:0 0 1.2rem}
body.woocommerce-cart .woocommerce .return-to-shop{margin:0}
body.woocommerce-checkout .woocommerce-form-coupon-toggle{margin-bottom:clamp(2rem,4vw,3rem)}
body.woocommerce-checkout .woocommerce-form-coupon{max-width:640px;margin:0 0 2rem;padding:1.5rem;border:1px solid var(--cmp-line);border-radius:0}
body.woocommerce-checkout form.checkout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(360px,.85fr);grid-template-rows:auto 1fr;column-gap:clamp(2rem,5vw,5rem);align-items:start}
body.woocommerce-checkout form.checkout #customer_details{grid-column:1;grid-row:1/span 2;width:100%;min-width:0}
body.woocommerce-checkout form.checkout #customer_details::before,body.woocommerce-checkout form.checkout #customer_details::after{display:none}
body.woocommerce-checkout form.checkout #customer_details .col-1,body.woocommerce-checkout form.checkout #customer_details .col-2{float:none;width:100%;min-width:0}
body.woocommerce-checkout form.checkout #customer_details .col-2{margin-top:2rem;padding-top:1.4rem;border-top:1px solid var(--cmp-line)}
body.woocommerce-checkout form.checkout #order_review_heading{grid-column:2;grid-row:1;margin:0;padding:1.35rem 1.5rem .4rem;background:var(--cmp-soft)}
body.woocommerce-checkout form.checkout #order_review{grid-column:2;grid-row:2;min-width:0;padding:0 1.5rem 1.5rem;background:var(--cmp-soft)}
body.woocommerce-checkout form.checkout h3{font-size:1.45rem;line-height:1.2;letter-spacing:-.025em}
body.woocommerce-checkout form.checkout .woocommerce-billing-fields h3{margin:0 0 1.4rem}
body.woocommerce-checkout form.checkout #ship-to-different-address{margin:0 0 1rem;font-size:1.05rem;letter-spacing:0}
body.woocommerce-checkout form.checkout #ship-to-different-address label{display:inline-flex;align-items:center;gap:.5rem;font-weight:700}
body.woocommerce-checkout form.checkout .form-row{margin:0 0 1rem;padding:0}
body.woocommerce-checkout form.checkout .form-row label{display:block;margin-bottom:.35rem;font-size:.9rem;font-weight:700;line-height:1.4}
body.woocommerce-checkout form.checkout .form-row input.input-text,body.woocommerce-checkout form.checkout .form-row textarea,body.woocommerce-checkout form.checkout .form-row select{min-height:48px;width:100%;border:1px solid #bfcfc3;border-radius:0;box-shadow:none;background:#fff;color:var(--cmp-ink);padding:.65rem .75rem;font-size:1rem}
body.woocommerce-checkout form.checkout .form-row textarea{min-height:90px}
body.woocommerce-checkout .select2-container .select2-selection--single{height:48px;border:1px solid #bfcfc3;border-radius:0;background:#fff}
body.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__rendered{line-height:46px;padding-left:.75rem}
body.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__arrow{height:46px;right:.55rem}
body.woocommerce-checkout #order_review table.shop_table{background:transparent}
body.woocommerce-checkout #order_review table.shop_table th,body.woocommerce-checkout #order_review table.shop_table td{padding:.85rem .2rem;vertical-align:top}
body.woocommerce-checkout #order_review table.shop_table thead th{font-size:.75rem;letter-spacing:.05em;text-transform:uppercase;color:var(--cmp-muted)}
body.woocommerce-checkout #order_review table.shop_table th:last-child,body.woocommerce-checkout #order_review table.shop_table td:last-child{text-align:right}
body.woocommerce-checkout #order_review table.shop_table .order-total th,body.woocommerce-checkout #order_review table.shop_table .order-total td{font-size:1.15rem;color:var(--cmp-green-dark)}
body.woocommerce-checkout #payment{margin-top:1.35rem;border:1px solid var(--cmp-line);border-radius:0;background:#fff}
body.woocommerce-checkout #payment ul.payment_methods{padding:1rem 1.1rem;border-bottom:1px solid var(--cmp-line);background:#fff}
body.woocommerce-checkout #payment ul.payment_methods li{padding:.55rem 0}
body.woocommerce-checkout #payment div.payment_box{border-radius:0;background:var(--cmp-soft);color:var(--cmp-ink)}
body.woocommerce-checkout #payment div.payment_box::before{border-bottom-color:var(--cmp-soft)}
body.woocommerce-checkout #payment div.form-row{padding:1.1rem}
body.woocommerce-checkout #payment .woocommerce-privacy-policy-text{font-size:.82rem;line-height:1.55;color:var(--cmp-muted)}
body.woocommerce-checkout #payment .woocommerce-terms-and-conditions-wrapper{font-size:.86rem;line-height:1.5}
body.woocommerce-checkout .woocommerce-info,body.woocommerce-cart .woocommerce-info,body.woocommerce-cart .woocommerce-message,body.woocommerce-checkout .woocommerce-message{margin:0 0 1.5rem;padding:1rem 1.25rem;border:0;border-left:3px solid var(--cmp-green);background:var(--cmp-soft);color:var(--cmp-ink)}
body.woocommerce-checkout .woocommerce-info::before,body.woocommerce-cart .woocommerce-info::before,body.woocommerce-cart .woocommerce-message::before,body.woocommerce-checkout .woocommerce-message::before{display:none}
body.woocommerce-cart .woocommerce-error,body.woocommerce-checkout .woocommerce-error{padding:1rem 1.25rem;border:0;border-left:3px solid #a33b34;background:#fbf0ef;color:var(--cmp-ink)}
body.woocommerce-cart .woocommerce-error::before,body.woocommerce-checkout .woocommerce-error::before{display:none}
body.woocommerce-cart .woocommerce button.button,body.woocommerce-cart .woocommerce a.button,body.woocommerce-cart .woocommerce a.checkout-button,body.woocommerce-checkout .woocommerce button.button,body.woocommerce-checkout .woocommerce a.button,body.woocommerce-checkout .woocommerce #place_order{min-height:44px;padding:.72rem 1.1rem;border:1px solid var(--cmp-green)!important;border-radius:0;background:var(--cmp-green)!important;color:#fff!important;font-size:.82rem;font-weight:700;line-height:1.25;text-decoration:none!important;letter-spacing:.04em;text-transform:uppercase;white-space:normal}
body.woocommerce-cart .woocommerce button.button:hover,body.woocommerce-cart .woocommerce a.button:hover,body.woocommerce-cart .woocommerce a.checkout-button:hover,body.woocommerce-checkout .woocommerce button.button:hover,body.woocommerce-checkout .woocommerce a.button:hover,body.woocommerce-checkout .woocommerce #place_order:hover{background:var(--cmp-green-dark)!important;border-color:var(--cmp-green-dark)!important;color:#fff!important}
body.woocommerce-cart .woocommerce button.button:disabled,body.woocommerce-cart .woocommerce button.button:disabled[disabled]{background:#e3e8e3!important;border-color:#e3e8e3!important;color:#5d665f!important;opacity:1}
body.woocommerce-checkout #payment #place_order{float:none;width:100%;min-height:50px}
@media(max-width:980px){body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form),body.woocommerce-checkout form.checkout{display:block}body.woocommerce-cart .cart-collaterals{margin-top:2rem}body.woocommerce-checkout form.checkout #customer_details .col-2{margin-bottom:2rem}body.woocommerce-checkout form.checkout #order_review_heading{margin-top:2rem}}
@media(max-width:650px){body.woocommerce-cart .cmp-standard-page,body.woocommerce-checkout .cmp-standard-page{width:min(calc(100% - 2rem),var(--cmp-width));padding-block:2.5rem 4rem}body.woocommerce-cart .woocommerce-cart-form table.shop_table td,body.woocommerce-checkout .woocommerce table.shop_table th,body.woocommerce-checkout .woocommerce table.shop_table td{padding:.75rem .65rem}body.woocommerce-cart .woocommerce-cart-form table.shop_table td.product-thumbnail{display:block;text-align:left}body.woocommerce-cart .woocommerce-cart-form table.shop_table td.product-thumbnail::before{display:none}body.woocommerce-cart .woocommerce-cart-form .coupon{display:grid;grid-template-columns:minmax(0,1fr) auto}body.woocommerce-cart .woocommerce-cart-form .coupon input.input-text{min-width:0;width:100%}body.woocommerce-cart .woocommerce-cart-form td.actions>button{width:100%;margin-top:.6rem}body.woocommerce-checkout form.checkout .form-row-first,body.woocommerce-checkout form.checkout .form-row-last{float:none;width:100%}body.woocommerce-checkout form.checkout #order_review_heading{padding:1.2rem 1.1rem .3rem}body.woocommerce-checkout form.checkout #order_review{padding:0 1.1rem 1.1rem}}
@media(max-width:650px){body.woocommerce-cart .woocommerce-cart-form .coupon{display:flex;flex-direction:column;align-items:stretch;gap:.55rem;width:100%}body.woocommerce-cart .woocommerce-cart-form .coupon input.input-text,body.woocommerce-cart .woocommerce-cart-form .coupon button.button{float:none;width:100%;min-width:0;margin:0}}
@media(max-width:650px){body.woocommerce-cart .woocommerce-cart-form table.shop_table td.product-name{text-align:left}body.woocommerce-cart .woocommerce-cart-form table.shop_table td.product-name::before{display:none}body.woocommerce-cart .woocommerce-cart-form table.shop_table td.product-name>a{display:block;margin-bottom:.4rem}body.woocommerce-cart .woocommerce-cart-form table.shop_table td.product-name dl.variation{display:block;float:none;clear:both;margin:.35rem 0 0;text-align:left}body.woocommerce-cart .woocommerce-cart-form table.shop_table td.product-name dl.variation dt,body.woocommerce-cart .woocommerce-cart-form table.shop_table td.product-name dl.variation dd{display:block;float:none;width:auto;max-width:100%;margin:0;line-height:1.45;text-align:left}body.woocommerce-cart .woocommerce-cart-form table.shop_table td.product-name dl.variation dt{font-size:.82rem;font-weight:700;color:var(--cmp-muted)}body.woocommerce-cart .woocommerce-cart-form table.shop_table td.product-name dl.variation dd{margin:.1rem 0 .55rem}body.woocommerce-cart .woocommerce-cart-form table.shop_table td.product-name dl.variation dd p{margin:0}}
@media(max-width:650px){body.woocommerce-cart .woocommerce-cart-form table.shop_table td.product-name dl.variation{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:.35rem .6rem}body.woocommerce-cart .woocommerce-cart-form table.shop_table td.product-name dl.variation dd{margin:0}body.woocommerce-cart .woocommerce-cart-form table.shop_table td.product-name dl.variation dt.variation-MattPhotographicPrintCanvas{font-size:0}body.woocommerce-cart .woocommerce-cart-form table.shop_table td.product-name dl.variation dt.variation-MattPhotographicPrintCanvas::before{content:'Format';font-size:.82rem}}
@media(max-width:650px){body.woocommerce-cart .woocommerce-cart-form table.shop_table td.product-name,body.woocommerce-cart .woocommerce-cart-form table.shop_table td.product-name>a{text-align:left!important}}
.cmp-contact-details{border-top:1px solid var(--cmp-line);padding-block:2rem 4rem;color:var(--cmp-muted)}.cmp-contact-details h2{font-size:1rem;letter-spacing:.08em;text-transform:uppercase;color:var(--cmp-ink)}.cmp-contact-details p{margin:.25rem 0}
.cmp-help-section{display:grid;grid-template-columns:minmax(230px,.7fr) minmax(0,1.3fr);gap:clamp(2rem,6vw,7rem);padding-block:clamp(3.5rem,6vw,6rem);border-bottom:1px solid var(--cmp-line)}
.cmp-help-section h2,.cmp-help-products h2,.cmp-help-contact h2{font-size:clamp(2rem,4vw,4rem);line-height:1.1;letter-spacing:-.05em;margin:.5rem 0 1rem}
.cmp-help-section>div:last-child>p{max-width:68ch;line-height:1.75;color:var(--cmp-muted);margin:0 0 1rem}
.cmp-help-products{background:var(--cmp-soft);padding-block:clamp(4rem,7vw,7rem)}
.cmp-help-product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 3rem;margin-top:2rem}
.cmp-help-product-grid>div{padding:1.7rem 0;border-top:1px solid #cbd8cc}.cmp-help-product-grid h3{font-size:1.25rem;margin:0 0 .6rem}.cmp-help-product-grid p{color:var(--cmp-muted);line-height:1.65;max-width:55ch;margin:0 0 1rem}
.cmp-help-faq details{border-top:1px solid var(--cmp-line);padding:1.2rem 0}.cmp-help-faq summary{cursor:pointer;font-weight:700;list-style:none}.cmp-help-faq summary::-webkit-details-marker{display:none}.cmp-help-faq summary::after{content:'+';float:right;color:var(--cmp-green)}.cmp-help-faq details[open] summary::after{content:'−'}.cmp-help-faq p{max-width:65ch;color:var(--cmp-muted);line-height:1.7}
.cmp-help-contact{background:#203c2c;color:#fff;padding-block:clamp(4rem,7vw,7rem)}.cmp-help-contact p{max-width:60ch;color:#d7e7da;line-height:1.65;margin-bottom:2rem}
@media(max-width:760px){.cmp-support-story,.cmp-contact-content{grid-template-columns:1fr}.cmp-support-story-photo{min-height:280px}.cmp-contact-aside{border-left:0;border-top:1px solid var(--cmp-line);padding:2rem 0 0}.cmp-support-facts .cmp-container{grid-template-columns:1fr;gap:.7rem}}
@media(max-width:760px){.cmp-help-section,.cmp-help-product-grid{grid-template-columns:1fr}.cmp-help-section{gap:1rem}}
@media(max-width:820px){.cmp-tour-places-grid,.cmp-tour-pricing{grid-template-columns:1fr}.cmp-tour-pricing-facts{max-width:540px}}
@media(max-width:600px){.cmp-tour-hero{min-height:540px;align-items:end;padding:3rem 0}.cmp-tour-hero:after{background:linear-gradient(0deg,rgba(8,25,15,.93),rgba(8,25,15,.45) 65%,rgba(8,25,15,.2))}.cmp-tour-hero h1{font-size:clamp(3rem,12vw,4.3rem)}.cmp-tour-quick,.cmp-tour-features{grid-template-columns:1fr}.cmp-tour-quick>span{border-left:2px solid var(--cmp-green)!important;padding:0 0 0 1rem!important}.cmp-tour-quick>span+span{margin-top:1rem}.cmp-tour-pricing-facts{gap:.6rem}.cmp-tour-pricing-facts strong{font-size:1.6rem}}

/* Individual workshop landing pages */
.cmp-workshop-detail{overflow:hidden}
.cmp-workshop-detail-hero{position:relative;isolation:isolate;display:flex;align-items:center;min-height:560px;padding:5rem 0;background:#203b2b;color:#fff}
.cmp-workshop-detail-hero-image{position:absolute;z-index:-2;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 42%}
.cmp-workshop-detail-hero:after{content:'';position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(8,25,15,.93),rgba(8,25,15,.64) 53%,rgba(8,25,15,.13))}
.cmp-workshop-detail-hero .cmp-eyebrow{color:#d6e9d8}
.cmp-workshop-detail-hero h1{max-width:13ch;font-size:clamp(3rem,6vw,6rem);line-height:.98;letter-spacing:-.06em;margin:.7rem 0 1.2rem}
.cmp-workshop-detail-lead{max-width:48ch;font-size:clamp(1rem,1.5vw,1.22rem);line-height:1.6;margin:0 0 2rem}
.cmp-workshop-detail-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;padding-block:1.7rem;border-bottom:1px solid var(--cmp-line)}
.cmp-workshop-detail-facts span{color:var(--cmp-muted);font-size:.85rem}.cmp-workshop-detail-facts strong{display:block;color:var(--cmp-ink);font-size:1.1rem}
.cmp-workshop-detail-intro,.cmp-workshop-detail-access{padding-block:clamp(4rem,7vw,7rem)}
.cmp-workshop-detail-intro h2,.cmp-workshop-detail-access h2,.cmp-workshop-detail-middle h2,.cmp-workshop-detail-booking h2{font-size:clamp(2.2rem,4vw,4.2rem);line-height:1.08;letter-spacing:-.05em;margin:.4rem 0 1rem}
.cmp-workshop-detail-intro p:not(.cmp-eyebrow),.cmp-workshop-detail-access p:not(.cmp-eyebrow){color:var(--cmp-muted);line-height:1.7}
.cmp-workshop-detail-middle{background:#edf3ee;padding-block:clamp(4rem,7vw,7rem)}
.cmp-workshop-detail-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(2rem,7vw,8rem)}
.cmp-workshop-detail-columns h2{font-size:clamp(1.8rem,3vw,3rem)}
.cmp-workshop-detail-columns ul{padding:0;margin:1.7rem 0 0;list-style:none}
.cmp-workshop-detail-columns li{border-top:1px solid #cddbd0;padding:1rem 0 1rem 1.2rem;position:relative;line-height:1.5}
.cmp-workshop-detail-columns li:before{content:'';position:absolute;left:0;top:1.65rem;width:.35rem;height:.35rem;background:var(--cmp-green);border-radius:50%}
.cmp-workshop-detail-booking{background:#203c2c;color:#fff;padding-block:clamp(4rem,7vw,7rem)}
.cmp-workshop-detail-booking .cmp-eyebrow{color:#c9e6d2}.cmp-workshop-detail-booking p:not(.cmp-eyebrow){max-width:66ch;color:#d7e7da;line-height:1.65}
.cmp-workshop-detail-notice{border-left:3px solid #cfdd99;background:#31543c;padding:1rem 1.3rem}
.cmp-workshop-detail-price{font-size:2rem;font-weight:800;margin:1.5rem 0}.cmp-workshop-detail-price small{display:block;text-transform:uppercase;letter-spacing:.12em;font-size:.65rem;color:#c9e6d2}
.cmp-workshop-detail-actions{display:flex;flex-wrap:wrap;align-items:center;gap:1.5rem;margin-top:2rem}.cmp-workshop-detail-actions>a:last-child{color:#e1efdf;text-decoration:underline;font-weight:700}
@media(max-width:820px){.cmp-workshop-detail-columns{grid-template-columns:1fr;gap:3rem}}
@media(max-width:600px){.cmp-workshop-detail-hero{min-height:540px;align-items:end;padding:3rem 0}.cmp-workshop-detail-hero:after{background:linear-gradient(0deg,rgba(8,25,15,.93),rgba(8,25,15,.46) 65%,rgba(8,25,15,.2))}.cmp-workshop-detail-hero h1{font-size:clamp(3rem,12vw,4.3rem)}.cmp-workshop-detail-facts{grid-template-columns:1fr}.cmp-workshop-detail-facts span{border-left:2px solid var(--cmp-green);padding-left:1rem}}

.cmp-tour-date-list>div:has(.cmp-booking-form){display:grid;grid-template-columns:minmax(130px,1.4fr) minmax(60px,.4fr) minmax(100px,1fr);align-items:center}
.cmp-tour-date-list>div:has(.cmp-booking-form)>span:last-of-type{margin-left:0}
.cmp-booking-form{grid-column:1/-1;display:flex;align-items:end;gap:1rem;margin:.5rem 0 0}
.cmp-booking-form label{display:grid;gap:.35rem;color:#e1efdf;font-size:.94rem;font-weight:800;letter-spacing:.04em}
.cmp-booking-form select,.cmp-booking-form input{min-width:110px;height:44px;border:1px solid #8ca795;background:#fff;color:#203c2c;padding:.4rem .6rem;font:inherit}
.cmp-booking-total{display:grid;align-self:center;gap:.15rem;color:#fff}.cmp-booking-total strong{font-size:1.35rem;line-height:1.1}.cmp-booking-total .woocommerce-Price-amount,.cmp-booking-total .woocommerce-Price-currencySymbol{display:inline;font:inherit;color:inherit}.cmp-booking-total span{font-size:.82rem;color:#d7e7da}
.cmp-booking-form .cmp-button{min-height:44px;white-space:nowrap}
.cmp-tour-booking .woocommerce-error,.cmp-workshop-detail-booking .woocommerce-error{background:#fff;color:#213b2b;border-top-color:#b23932;padding:1rem 1.5rem}
@media(max-width:600px){.cmp-tour-date-list>div:has(.cmp-booking-form){grid-template-columns:1fr auto;gap:.4rem 1rem}.cmp-tour-date-list>div:has(.cmp-booking-form)>span:last-of-type{grid-column:1/-1}.cmp-booking-form{flex-wrap:wrap}.cmp-booking-form .cmp-button{width:100%}}
/* Image purchase options and preview */
.cmp-image-format-choices,.cmp-size-choices,.cmp-frame-choices{border:0;padding:0;margin:0 0 1.4rem;min-width:0}
.cmp-image-format-choices legend,.cmp-size-choices legend,.cmp-frame-choices legend{font-size:1rem;font-weight:750;margin-bottom:.65rem}
.cmp-image-format-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem}
.cmp-image-format-choices legend{grid-column:1/-1}
.cmp-format-button,.cmp-choice-card{border:1px solid #cbd7cf;background:#fff;border-radius:3px;cursor:pointer;text-align:center;min-height:68px;padding:.75rem;transition:border-color .15s,background-color .15s,box-shadow .15s}
.cmp-format-button:hover,.cmp-format-button:focus-visible,.cmp-choice-card:hover,.cmp-choice-card:focus-within{border-color:var(--cmp-green)}
.cmp-format-button.is-selected,.cmp-choice-card:has(input:checked){border:2px solid var(--cmp-green);background:#f2f8f4;box-shadow:0 0 0 1px var(--cmp-green)}
.cmp-format-button strong,.cmp-format-button span,.cmp-choice-card span,.cmp-choice-card small{display:block}
.cmp-format-button strong{font-size:.82rem;line-height:1.2}.cmp-format-button span,.cmp-choice-card small{font-size:.72rem;color:var(--cmp-muted);margin-top:.3rem}
.cmp-size-choices,.cmp-frame-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}
.cmp-size-choices legend,.cmp-frame-choices legend{grid-column:1/-1}
.cmp-choice-card{display:flex;flex-direction:column;justify-content:center;min-height:55px;font-weight:650;font-size:.82rem}
.cmp-choice-card input{position:absolute;opacity:0;width:1px;height:1px}.cmp-choice-card[hidden],.cmp-frame-choices[hidden],.cmp-mug-purchase[hidden],.cmp-wall-purchase[hidden],.cmp-product-information section[hidden]{display:none!important}
.cmp-visual-ready .cmp-wall-purchase table.variations{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important}
.cmp-visual-ready .cmp-wall-purchase .reset_variations{display:none!important}
.cmp-image-zoom-trigger{position:relative;border:0;background:transparent;display:block;width:100%;padding:0;cursor:zoom-in;color:var(--cmp-green)}
.cmp-image-zoom-trigger span{position:absolute;right:.65rem;bottom:.65rem;z-index:2}.cmp-image-product-media img,.cmp-image-zoom img{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-user-drag:none}
.cmp-image-zoom{border:0;max-width:min(94vw,1400px);max-height:94vh;padding:2.5rem 1rem 1rem;background:#f9faf8;box-shadow:0 20px 70px #0005}
.cmp-image-zoom::backdrop{background:#101913db}.cmp-image-zoom img{display:block;max-width:100%;max-height:calc(94vh - 4rem);object-fit:contain;margin:auto}.cmp-image-zoom-close{position:absolute;right:1rem;top:.6rem;border:0;background:none;color:var(--cmp-green);font-weight:700;cursor:pointer}
.cmp-mug-purchase{margin-top:1rem}.cmp-mug-price{font-size:1.25rem;font-weight:700;color:var(--cmp-green)}.cmp-mug-purchase input[type=number]{width:75px;min-height:44px;border:1px solid var(--cmp-line);padding:.4rem}.cmp-mug-purchase button{min-height:46px;background:var(--cmp-green)!important;color:#fff!important;border:0!important;padding:.75rem 1.5rem!important;margin-left:.5rem}
@media(max-width:600px){.cmp-image-format-choices{grid-template-columns:repeat(2,minmax(0,1fr))}.cmp-image-format-choices .cmp-format-button:last-child:nth-child(4){grid-column:1/-1}.cmp-size-choices,.cmp-frame-choices{grid-template-columns:repeat(2,minmax(0,1fr))}.cmp-image-zoom{max-width:100vw;max-height:100vh}}
/* Shop product preview gallery */
.cmp-shop-preview-open{position:relative;border:0;background:transparent;padding:0;cursor:zoom-in;display:block}
.cmp-shop-preview-open::after{position:absolute;right:.35rem;bottom:.35rem;transform:scale(.78);transform-origin:right bottom}
.cmp-shop-product-image .cmp-shop-preview-open{width:100%;height:100%;display:grid;place-items:center}
.cmp-shop-product-image .cmp-shop-preview-open img{max-height:100%;width:auto;height:auto;object-fit:contain}
.cmp-shop-preview-images .cmp-shop-preview-open{flex:none;border:2px solid transparent}
.cmp-shop-preview-images .cmp-shop-preview-open:hover,.cmp-shop-preview-images .cmp-shop-preview-open:focus-visible{border-color:var(--cmp-green)}
.cmp-shop-preview-open img,.cmp-shop-lightbox img{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-user-drag:none}
.cmp-shop-lightbox{border:0;max-width:min(95vw,1300px);max-height:95vh;width:min(95vw,1300px);padding:2.6rem 3.2rem 1.5rem;background:#f7faf7;box-shadow:0 20px 70px #0006;text-align:center}
.cmp-shop-lightbox::backdrop{background:#0d1711df}.cmp-shop-lightbox img{display:block;max-width:100%;max-height:calc(95vh - 5.5rem);object-fit:contain;margin:auto}
.cmp-shop-lightbox-close{position:absolute;top:.7rem;right:1rem;border:0;background:none;color:var(--cmp-green);font-weight:700;cursor:pointer}
.cmp-shop-lightbox-prev,.cmp-shop-lightbox-next{position:absolute;top:50%;transform:translateY(-50%);border:0;background:#fff;color:var(--cmp-green);font-size:2rem;width:42px;height:52px;cursor:pointer;box-shadow:0 2px 12px #0002}
.cmp-shop-lightbox-prev{left:.4rem}.cmp-shop-lightbox-next{right:.4rem}.cmp-shop-lightbox-count{display:block;margin-top:.5rem;color:var(--cmp-muted);font-size:.8rem}
.cmp-magnify-target{cursor:zoom-in;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-user-drag:none}
.cmp-magnify-target:focus-visible{outline:3px solid var(--cmp-green);outline-offset:3px}
.cmp-magnify-frame{position:relative}
.cmp-magnify-hint{position:absolute;right:.65rem;bottom:.65rem;z-index:2;border:0;background:transparent;padding:0;cursor:zoom-in}
.cmp-magnify-hint,.cmp-image-zoom-trigger span,.cmp-shop-preview-open::after{width:38px;height:38px;display:grid;place-items:center;border:1px solid #d5e1d7;border-radius:50%;background-color:#fffffff0;box-shadow:0 2px 10px #152a1b1f}
.cmp-magnify-hint::before,.cmp-image-zoom-trigger span::before{content:'';width:20px;height:20px;display:block;background:center/contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23275340' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='10.5' cy='10.5' r='6.5'/%3E%3Cpath d='m15.5 15.5 5 5M10.5 7.5v6M7.5 10.5h6'/%3E%3C/svg%3E")}
.cmp-shop-preview-open::after{content:'';background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23275340' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='10.5' cy='10.5' r='6.5'/%3E%3Cpath d='m15.5 15.5 5 5M10.5 7.5v6M7.5 10.5h6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:20px}
.cmp-magnify-hint:hover,.cmp-magnify-hint:focus-visible,.cmp-image-zoom-trigger:hover span,.cmp-image-zoom-trigger:focus-visible span,.cmp-shop-preview-open:hover::after,.cmp-shop-preview-open:focus-visible::after{background-color:#fff;outline:2px solid var(--cmp-green);outline-offset:2px}
@media(max-width:600px){.cmp-shop-lightbox{max-width:100vw;max-height:100vh;width:100vw;padding:3rem .5rem 4rem}.cmp-shop-lightbox img{max-height:calc(100vh - 8rem)}.cmp-shop-lightbox-prev,.cmp-shop-lightbox-next{top:auto;bottom:.3rem;transform:none}}
.cmp-image-product img,.cmp-shop-product img,.cmp-product-card img,.cmp-gallery-card img,.cmp-gallery-hero img{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-user-drag:none}
/* Shop hub and book collection */
.cmp-shop-hub-hero{background:#263b2d;color:#fff;padding:clamp(5rem,9vw,9rem) 0}
.cmp-shop-hub-hero .cmp-container{max-width:1320px}.cmp-shop-hub-hero .cmp-eyebrow{color:#c7dec9}.cmp-shop-hub-hero h1{max-width:11ch;font-size:clamp(3.3rem,7vw,7.5rem);line-height:.98;letter-spacing:-.065em;margin:.5rem 0 1.5rem}.cmp-shop-hub-hero p:not(.cmp-eyebrow){max-width:44ch;font-size:clamp(1.05rem,1.4vw,1.3rem);line-height:1.6}.cmp-shop-hub-hero .cmp-button{margin-top:1rem}
.cmp-shop-hub-hero-inner{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(2rem,4vw,5rem);align-items:center}.cmp-shop-hub-hero-art{min-height:470px;display:flex;align-items:center;justify-content:center}.cmp-shop-hub-hero-art img{width:41%;height:340px;object-fit:contain;background:#f5f7f4;border:7px solid #f5f7f4;box-shadow:0 20px 40px #0005;transform:rotate(-7deg);margin-right:-15%}.cmp-shop-hub-hero-art img:nth-child(2){transform:rotate(5deg) translateY(-6%);z-index:1}.cmp-shop-hub-hero-art img:nth-child(3){transform:rotate(-3deg) translateY(8%);margin-right:0}
.cmp-shop-hub-range{padding:clamp(4rem,7vw,7rem) 0;background:#f5f8f3}.cmp-shop-hub-range h2{font-size:clamp(2.3rem,4vw,4.3rem);line-height:1.1;letter-spacing:-.05em;margin:.5rem 0 2.5rem}.cmp-shop-hub-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem}.cmp-shop-hub-card{display:flex;flex-direction:column;background:#fff;color:var(--cmp-ink);text-decoration:none;border:1px solid #dfe6df;transition:transform .2s,border-color .2s}.cmp-shop-hub-card:hover,.cmp-shop-hub-card:focus-visible{transform:translateY(-3px);border-color:var(--cmp-green)}.cmp-shop-hub-card-image{height:270px;display:grid;place-items:center;background:#e9eee8;overflow:hidden}.cmp-shop-hub-card-image img{width:100%;height:100%;object-fit:contain;padding:1rem}.cmp-shop-hub-card-copy{display:grid;gap:.4rem;padding:1.4rem}.cmp-shop-hub-card-copy strong{font-size:1.5rem;letter-spacing:-.03em}.cmp-shop-hub-card-copy>span:nth-child(2){color:var(--cmp-muted)}.cmp-shop-hub-card-copy .cmp-inline-link{margin-top:.6rem}
.cmp-shop-landing .cmp-shop-information{display:block;background:#eaf1e9;margin:0;padding:0}.cmp-shop-information-inner{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:clamp(2rem,7vw,8rem);padding-block:clamp(4rem,7vw,7rem)}
.cmp-shop-books .cmp-shop-hero{background:#233126;isolation:isolate}.cmp-books-hero-covers{position:absolute;z-index:0;right:max(1%,calc((100vw - 1480px)/2));top:8%;width:min(47%,680px);height:84%;display:flex;align-items:center;justify-content:center;pointer-events:none}.cmp-books-hero-covers img{position:relative;flex:none;width:auto;height:60%;max-width:none;max-height:none;margin-right:-13%;object-fit:contain;box-shadow:0 18px 30px #0006;transform:rotate(-4deg)}.cmp-books-hero-covers img:last-child{margin-right:0}.cmp-books-hero-covers img:nth-child(2){transform:rotate(2deg) translateY(-7%)}.cmp-books-hero-covers img:nth-child(3){transform:rotate(-2deg) translateY(8%)}.cmp-books-hero-covers img:nth-child(4){transform:rotate(4deg) translateY(-3%)}.cmp-shop-books .cmp-shop-hero.has-image:after{background:none}
.cmp-shop-books .cmp-shop-feature-image{background:#e5eae4}.cmp-shop-books .cmp-shop-feature-image img{width:auto;max-width:100%;height:auto;max-height:430px;box-shadow:0 14px 30px #0002;padding:0}
.cmp-shop-books .cmp-shop-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cmp-shop-books .cmp-shop-product{display:grid;grid-template-columns:minmax(0,.43fr) minmax(0,.57fr)}.cmp-shop-books .cmp-shop-product-image{aspect-ratio:auto;min-height:360px}.cmp-shop-books .cmp-shop-product-image img{width:auto;max-width:100%;height:auto;max-height:345px;box-shadow:0 8px 20px #0002}.cmp-book-summary{line-height:1.6;color:var(--cmp-muted);margin:.2rem 0 .8rem}.cmp-book-pages{font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--cmp-green);margin:0 0 .8rem}.cmp-shop-books .cmp-shop-price{font-size:1.05rem;margin:.4rem 0 1rem}.cmp-book-buy{align-items:flex-end;gap:.5rem}.cmp-book-buy label{width:100%}.cmp-book-buy input[type=number]{width:110px;min-height:46px}.cmp-book-buy .cmp-button{min-height:46px}
@media(max-width:1000px){.cmp-shop-hub-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cmp-shop-books .cmp-shop-product-grid{grid-template-columns:1fr}.cmp-shop-books .cmp-shop-product{grid-template-columns:minmax(0,.35fr) minmax(0,.65fr)}}
@media(max-width:700px){.cmp-shop-hub-hero-inner{grid-template-columns:1fr}.cmp-shop-hub-hero-art{min-height:200px}.cmp-shop-hub-hero-art img{height:170px;border-width:4px}}
@media(max-width:600px){.cmp-shop-hub-grid{grid-template-columns:1fr}.cmp-shop-hub-card-image{height:240px}.cmp-shop-information-inner{grid-template-columns:1fr}.cmp-shop-books .cmp-shop-hero{padding-top:300px}.cmp-books-hero-covers{top:15px;left:5%;right:5%;width:90%;height:260px}.cmp-books-hero-covers img{height:65%;margin-right:-11%}.cmp-shop-books .cmp-shop-hero h1,.cmp-shop-books .cmp-shop-hero-intro{max-width:100%}.cmp-shop-books .cmp-shop-product{display:flex}.cmp-shop-books .cmp-shop-product-image{min-height:290px;max-height:320px}.cmp-shop-books .cmp-shop-product-image img{max-height:290px}}
.cmp-shop-gifts .cmp-voucher-feature{display:block;background:#e7efe7;margin:0;padding:clamp(3rem,6vw,6rem) 0}.cmp-voucher-feature-inner{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(2rem,6vw,6rem)}.cmp-voucher-feature-inner>div:first-child{display:grid;place-items:center}.cmp-voucher-feature-inner img{max-height:430px;width:auto;object-fit:contain;box-shadow:0 15px 36px #15251a24}.cmp-voucher-feature-inner>div:last-child{max-width:560px}.cmp-voucher-feature-inner h2{font-size:clamp(2.6rem,5vw,5.4rem);line-height:1;letter-spacing:-.06em}.cmp-voucher-feature-inner p{font-size:1.08rem;line-height:1.7}.cmp-voucher-note{color:var(--cmp-green);font-weight:650}.cmp-shop-gifts .cmp-shop-information{background:#f0f4ed}
.cmp-mug-gallery-route{background:#203126;color:#fff;padding:clamp(4rem,7vw,7rem) 0}.cmp-mug-gallery-route-inner{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(2rem,7vw,8rem);align-items:end}.cmp-mug-gallery-route .cmp-eyebrow{color:#b8d6bf}.cmp-mug-gallery-route h2{font-size:clamp(2.6rem,5vw,5.4rem);line-height:1;letter-spacing:-.06em;max-width:12ch;margin:.6rem 0 0}.cmp-mug-gallery-route p:not(.cmp-eyebrow){font-size:1.12rem;line-height:1.65;max-width:40ch}.cmp-mug-gallery-route .cmp-button{margin-top:1rem;background:#f0f5ee;color:#203126}.cmp-mug-gallery-route .cmp-button:hover{background:#fff}
.cmp-voucher-page{background:#fff}.cmp-voucher-back{padding-block:1.5rem}.cmp-voucher-hero{background:#203126;color:#fff;padding:clamp(3rem,5vw,5.5rem) 0}.cmp-voucher-hero-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);align-items:center;gap:clamp(2rem,6vw,6rem)}.cmp-voucher-hero .cmp-eyebrow{color:#c7dec9}.cmp-voucher-hero h1{font-size:clamp(3.2rem,6vw,6.5rem);line-height:.98;letter-spacing:-.06em;margin:.5rem 0 1.5rem}.cmp-voucher-hero p:not(.cmp-eyebrow){font-size:1.13rem;line-height:1.65;max-width:50ch}.cmp-voucher-hero .cmp-button{margin-top:1rem}.cmp-voucher-hero-image{display:grid;place-items:center;min-height:360px}.cmp-voucher-hero-image img{max-height:430px;width:auto;object-fit:contain;box-shadow:0 16px 36px #0004}.cmp-voucher-buy{background:#f3f7f2;padding:clamp(4rem,7vw,7rem) 0}.cmp-voucher-buy-inner{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:clamp(2rem,7vw,8rem)}.cmp-voucher-buy h2{font-size:clamp(2.6rem,4vw,4.6rem);line-height:1;letter-spacing:-.05em;margin:.5rem 0 1.2rem}.cmp-voucher-buy-inner>div:first-child p:last-child{color:var(--cmp-muted);line-height:1.7}.cmp-voucher-form{background:#fff;border:1px solid var(--cmp-line);padding:clamp(1.4rem,3vw,3rem)}.cmp-voucher-form form.cart{display:grid;gap:1rem}.cmp-voucher-form input[type=text],.cmp-voucher-form input[type=email],.cmp-voucher-form input[type=number],.cmp-voucher-form textarea{max-width:100%;min-height:46px;border:1px solid #bacabd;padding:.7rem .85rem}.cmp-voucher-form textarea{min-height:95px}.cmp-voucher-form button[type=submit]{background:var(--cmp-green)!important;color:#fff!important;border:0!important;padding:.85rem 1.5rem!important;min-height:48px}
@media(max-width:700px){.cmp-voucher-feature-inner,.cmp-voucher-hero-inner,.cmp-voucher-buy-inner,.cmp-mug-gallery-route-inner{grid-template-columns:1fr}.cmp-voucher-hero-image{min-height:220px}.cmp-voucher-hero-image img{max-height:300px}.cmp-voucher-feature-inner img{max-height:300px}}

/* Final landing-page polish: give white-backed product mockups a deliberate surround. */
.cmp-shop-landing .cmp-shop-hero .cmp-eyebrow:before,.cmp-workshops-hero .cmp-eyebrow:before{content:'';display:inline-block;width:2.5rem;height:3px;margin:0 .9rem .23rem 0;background:#e6d65c;vertical-align:middle}
.cmp-shop-feature-image{position:relative;background:#e8ede6}
.cmp-shop-feature-image img{width:auto;height:auto;max-width:calc(100% - 3rem);max-height:440px;padding:0;background:#fff;box-shadow:0 22px 45px rgba(12,30,20,.18)}
.cmp-shop-calendars .cmp-shop-feature-image,.cmp-shop-jigsaws .cmp-shop-feature-image{background:#25392c}
.cmp-shop-calendars .cmp-shop-feature-image:after,.cmp-shop-jigsaws .cmp-shop-feature-image:after{content:'';position:absolute;right:0;bottom:0;width:24%;height:5px;background:#e6d65c}
/* Collection mock-ups already have white backgrounds; keep this one feature area clean. */
.cmp-shop-christmas-cards .cmp-shop-feature-image,.cmp-shop-jigsaws .cmp-shop-feature-image,.cmp-shop-calendars .cmp-shop-feature-image{background:#fff}
.cmp-shop-christmas-cards .cmp-shop-feature-image img,.cmp-shop-jigsaws .cmp-shop-feature-image img{box-shadow:none}
.cmp-shop-calendars .cmp-shop-feature-image:after,.cmp-shop-jigsaws .cmp-shop-feature-image:after{content:none}
.cmp-shop-landing .cmp-shop-product-image{background:#e8eee8}
.cmp-shop-landing .cmp-shop-product-image img{filter:drop-shadow(0 12px 13px rgba(18,39,25,.15))}
.cmp-product-card-image,.cmp-shop-product-image,.cmp-image-product-media,.cmp-cards-design-image{position:relative}.cmp-product-badges{position:absolute;top:.7rem;left:.7rem;z-index:3;display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;pointer-events:none}.cmp-product-badge{display:inline-block;padding:.35rem .55rem;background:#285841;color:#fff;font-size:.68rem;font-weight:800;line-height:1;letter-spacing:.07em;box-shadow:0 2px 8px #0002}.cmp-product-badge-sale{background:#a63e34}.cmp-product-badge-low-stock{background:#806329}.cmp-image-product-media>.cmp-product-badges{top:1.1rem;left:1.1rem}.cmp-image-product .price del,.cmp-mug-price del{opacity:.65;margin-right:.4rem}.cmp-image-product .price ins,.cmp-mug-price ins{text-decoration:none;font-weight:800}
.cmp-cards-design-image .cmp-shop-preview-open{width:100%;height:100%;display:grid;place-items:center}
.cmp-cards-design-image .cmp-shop-preview-open img{width:100%;height:100%;object-fit:contain}
.cmp-cards-design .cmp-shop-preview{margin:.1rem 0 .85rem;text-align:center}
.cmp-cards-design .cmp-shop-preview-images{justify-content:center}
.cmp-shop-range-heading .cmp-eyebrow:before{content:'';display:inline-block;width:1.5rem;height:2px;margin:0 .6rem .22rem 0;background:#ac9e37;vertical-align:middle}
.cmp-shop-books .cmp-books-hero-covers img{height:72%;background:#fff;border:6px solid #fff;box-shadow:0 24px 45px rgba(0,0,0,.42)}
.cmp-shop-books .cmp-books-hero-covers{background:radial-gradient(ellipse at center,rgba(99,136,96,.23),transparent 68%)}
.cmp-shop-books .cmp-shop-hero h1{font-size:clamp(3.2rem,6vw,6rem);max-width:8ch}
.cmp-shop-books .cmp-books-hero-covers{right:max(2%,calc((100vw - 1680px)/2))}
.cmp-shop-calendar-covers{display:flex;align-items:center;justify-content:center;gap:0;overflow:hidden;padding:2.5rem 1.4rem;min-height:490px}
.cmp-shop-calendar-covers img{display:block;width:33%;height:auto;max-width:none;max-height:370px;object-fit:contain;background:transparent;box-shadow:0 18px 30px rgba(0,0,0,.35);transform:rotate(-5deg);margin-right:-2%}
.cmp-shop-calendar-covers img:nth-child(2){transform:rotate(3deg) translateY(-.8rem);z-index:1}
.cmp-shop-calendar-covers img:nth-child(3){transform:rotate(-2deg) translateY(.6rem);margin-right:0}
.cmp-shop-hub-hero-art img:last-child{background:#e7ede5;border-color:#e7ede5}
.cmp-workshops-hero{min-height:690px}
.cmp-workshops-hero-actions{display:flex;align-items:center;gap:1.4rem;flex-wrap:wrap}
.cmp-workshops-secondary-link{color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.7);padding:.65rem 0;font-weight:700}
.cmp-workshops-secondary-link:hover,.cmp-workshops-secondary-link:focus-visible{color:#e6d65c;border-color:#e6d65c}
.cmp-workshops-method{background:#f0f0e8}
.cmp-workshops-method li:before{color:#8f7c1b}
@media(max-width:600px){.cmp-shop-feature-image img{max-width:calc(100% - 2rem);max-height:310px}.cmp-shop-calendar-covers{min-height:300px;padding:1.5rem .8rem}.cmp-shop-calendar-covers img{width:35%;max-width:none;max-height:250px}.cmp-shop-books .cmp-books-hero-covers img{height:65%;border-width:4px}.cmp-shop-books .cmp-shop-hero h1{font-size:clamp(3.3rem,13vw,5rem);max-width:100%}.cmp-workshops-hero{min-height:600px}.cmp-workshops-hero-actions{gap:.7rem}}

/* One full-width ending for every shop collection. */
.cmp-shop-ending{background:#234e39;color:#fff}
.cmp-shop-landing .cmp-shop-ending .cmp-shop-newsletter{background:transparent;margin:0;padding:clamp(3.5rem,6vw,6rem) 0 clamp(2.5rem,4vw,4rem)}

/* Pick N Mix: every card gets the same portrait-height stage; wide designs sit centrally. */
.cmp-cards-design{display:grid;grid-template-rows:auto 1fr}
.cmp-cards-design-image{aspect-ratio:2/3;min-height:0;overflow:hidden}
.cmp-cards-design-image img{display:block;width:100%;height:100%;max-width:none;max-height:none;object-fit:contain}
.cmp-cards-design-bottom{display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:.75rem}
.cmp-shop-ending .cmp-shop-end-link{border-top:1px solid rgba(255,255,255,.3);padding:1.2rem 0 1.7rem;text-align:right;color:#fff}
.cmp-shop-ending .cmp-shop-end-link a{color:#fff;text-decoration:none}
.cmp-shop-ending .cmp-shop-end-link a:hover,.cmp-shop-ending .cmp-shop-end-link a:focus-visible{text-decoration:underline}
@media(max-width:600px){.cmp-shop-landing .cmp-shop-ending .cmp-shop-newsletter{margin-inline:0;padding:3.5rem 0 2.5rem}.cmp-shop-ending .cmp-shop-end-link{text-align:left}}

/* Discourage casual saving of site imagery, including all landing heroes. */
main img{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-user-drag:none}
.cmp-hero-has-image,.cmp-shop-hero.has-image,.cmp-gallery-hero.has-image,.cmp-tour-hero,.cmp-workshops-hero,.cmp-workshop-detail-hero{-webkit-touch-callout:none}

/* Christmas cards: transparent artwork sits above the linen backdrop. */
.cmp-shop-christmas-cards .cmp-shop-hero{
  color:#24342d;
  background-color:#e8ddd4;
  background-image:linear-gradient(rgba(232,221,212,.25),rgba(232,221,212,.25)),url(../images/christmas-linen.jpg);
  background-repeat:repeat;
  background-size:760px auto;
}
.cmp-shop-christmas-cards .cmp-shop-hero.has-image:after{background:none}
.cmp-shop-christmas-cards .cmp-shop-hero .cmp-shop-hero-image{
  width:57%;padding:0;background:transparent;
}
.cmp-shop-christmas-cards .cmp-shop-hero .cmp-eyebrow:before{background:#a14e3e}
.cmp-shop-christmas-cards .cmp-shop-hero .cmp-shop-hero-cta{background:#27503a;color:#fff}
.cmp-shop-christmas-cards .cmp-shop-hero .cmp-shop-hero-cta:hover,.cmp-shop-christmas-cards .cmp-shop-hero .cmp-shop-hero-cta:focus-visible{background:#1d3b2b;color:#fff}
.cmp-shop-jigsaws .cmp-shop-hero .cmp-shop-hero-image{width:57%;padding:0;object-fit:cover;background:#202a22}
.cmp-shop-gifts .cmp-shop-hero .cmp-shop-hero-image{width:58%;padding:0;object-fit:cover;background:#202a22;-webkit-mask-image:linear-gradient(90deg,transparent,#000 15%);mask-image:linear-gradient(90deg,transparent,#000 15%)}
.cmp-shop-gifts .cmp-shop-hero.has-image:after{background:linear-gradient(90deg,#202a22 0%,#202a22 34%,rgba(32,42,34,.82) 45%,transparent 64%)}

/* Use the transparent product cover artwork across the calendar display. */
.cmp-shop-calendars .cmp-shop-hero.has-image:after{background:linear-gradient(90deg,#202a22 0%,#202a22 39%,rgba(32,42,34,.72) 48%,transparent 65%)}
.cmp-calendar-hero-art{position:absolute;inset:0 0 0 auto;z-index:0;width:59%;overflow:hidden;pointer-events:none;background:#202a22 url(../images/calendar-studio-background.jpg) center/cover no-repeat}
.cmp-calendar-hero-cover{position:absolute;display:block;width:28%;filter:drop-shadow(0 22px 20px rgba(0,0,0,.5))}
.cmp-calendar-hero-cover:nth-child(1){left:12%;top:22%;z-index:1;transform:rotate(-8deg)}
.cmp-calendar-hero-cover:nth-child(2){left:39%;top:12%;z-index:3;transform:rotate(1deg)}
.cmp-calendar-hero-cover:nth-child(3){left:66%;top:21%;z-index:2;transform:rotate(8deg)}
.cmp-calendar-hero-cover img{display:block;width:100%;height:auto;max-width:none}
.cmp-shop-calendar-covers .cmp-calendar-cover-frame{position:relative;display:block;flex:none;width:33%;margin-right:-2%;filter:drop-shadow(0 18px 17px rgba(0,0,0,.3));transform:rotate(-5deg)}
.cmp-shop-calendar-covers .cmp-calendar-cover-frame:nth-child(2){z-index:1;transform:rotate(3deg) translateY(-.8rem)}
.cmp-shop-calendar-covers .cmp-calendar-cover-frame:nth-child(3){margin-right:0;transform:rotate(-2deg) translateY(.6rem)}
.cmp-shop-calendar-covers .cmp-calendar-cover-frame img{display:block;width:100%;height:auto;max-width:none;max-height:370px;margin:0;box-shadow:none;transform:none}
@media(max-width:600px){
  .cmp-shop-christmas-cards .cmp-shop-hero{padding-top:350px}
  .cmp-shop-christmas-cards .cmp-shop-hero .cmp-shop-hero-image{width:100%;height:330px;object-fit:contain;object-position:center}
  .cmp-shop-jigsaws .cmp-shop-hero .cmp-shop-hero-image{width:100%;height:320px;object-position:60% center}
  .cmp-shop-gifts .cmp-shop-hero .cmp-shop-hero-image{width:100%;height:320px;-webkit-mask-image:none;mask-image:none}
  .cmp-shop-gifts .cmp-shop-hero.has-image:after{background:none}
  .cmp-calendar-hero-art{inset:0 0 auto;width:100%;height:320px}
  .cmp-calendar-hero-cover{width:34%}
  .cmp-calendar-hero-cover:nth-child(1){left:1%;top:27%}
  .cmp-calendar-hero-cover:nth-child(2){left:33%;top:17%}
  .cmp-calendar-hero-cover:nth-child(3){left:65%;top:27%}
  .cmp-shop-calendar-covers .cmp-calendar-cover-frame{width:35%}
  .cmp-shop-calendar-covers .cmp-calendar-cover-frame img{max-height:250px}
}
@media(max-width:600px){.cmp-shop-calendars .cmp-shop-hero.has-image:after{background:none}}
.cmp-hero-picture img,.cmp-gallery-hero .cmp-gallery-hero-image,.cmp-workshops-hero .cmp-workshops-hero-image,.cmp-tour-hero .cmp-tour-hero-image,.cmp-workshop-detail-hero .cmp-workshop-detail-hero-image,.cmp-shop-landing .cmp-shop-hero .cmp-shop-hero-image{object-position:var(--cmp-focus-desktop,50% 50%)}
@media(max-width:640px){.cmp-hero-picture img,.cmp-gallery-hero .cmp-gallery-hero-image,.cmp-workshops-hero .cmp-workshops-hero-image,.cmp-tour-hero .cmp-tour-hero-image,.cmp-workshop-detail-hero .cmp-workshop-detail-hero-image,.cmp-shop-landing .cmp-shop-hero .cmp-shop-hero-image{object-position:var(--cmp-focus-mobile,50% 50%)}}

/* Owned customer reviews */
.cmp-reviews-hero{background:#eaf0eb;padding:clamp(4rem,7vw,7rem) 0}
.cmp-reviews-hero h1{font-size:clamp(3rem,7vw,6rem);line-height:.98;letter-spacing:-.06em;margin:.4rem 0 1.3rem;max-width:10ch}
.cmp-reviews-hero p:not(.cmp-eyebrow){max-width:56ch;color:var(--cmp-muted);font-size:1.15rem}
.cmp-reviews-score{display:flex;align-items:center;gap:1.1rem;border-left:2px solid var(--cmp-green);padding-left:1.3rem;margin-top:2rem}
.cmp-reviews-score strong{font-size:2.4rem;line-height:1;color:var(--cmp-green)}
.cmp-reviews-score strong span{font-size:1rem;color:var(--cmp-muted)}
.cmp-reviews-score>span{max-width:12rem;line-height:1.3;font-weight:700}
.cmp-reviews-content{padding-block:clamp(3rem,6vw,6rem)}
.cmp-review-notice{background:var(--cmp-soft);padding:2rem;margin-bottom:3rem}
.cmp-review-notice h2{margin:0 0 .5rem}.cmp-review-notice p{margin:0}
.cmp-review-notice a{text-decoration:underline;color:var(--cmp-green)}
.cmp-review-form-panel{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(2rem,5vw,5rem);background:#eef3ef;padding:clamp(1.5rem,4vw,4rem);margin-bottom:5rem}
.cmp-review-form-panel h2,.cmp-reviews-list h2,.cmp-reviews-elsewhere h2{font-size:clamp(2rem,4vw,3.4rem);line-height:1.05;letter-spacing:-.045em;margin:.3rem 0 1rem}
.cmp-review-form-panel p{color:var(--cmp-muted)}
.cmp-review-form-panel form{display:grid;gap:.7rem}
.cmp-review-form-panel label{font-weight:700}
.cmp-review-form-panel label span{font-weight:400;color:var(--cmp-muted)}
.cmp-review-form-panel input:not([type=checkbox]),.cmp-review-form-panel select,.cmp-review-form-panel textarea{width:100%;background:#fff;border:1px solid #bacbbf;padding:.7rem .85rem;min-height:48px;color:var(--cmp-ink)}
.cmp-review-form-panel textarea{resize:vertical}
.cmp-review-form-pair{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.cmp-review-form-pair>div{display:grid;gap:.5rem}
.cmp-review-consent{display:flex;gap:.6rem;align-items:flex-start;font-size:.9rem;font-weight:400!important;margin:1rem 0}
.cmp-review-consent input{margin-top:.35rem}
.cmp-review-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.cmp-review-form-panel .cmp-button{justify-self:start}
.cmp-reviews-section-head{display:flex;justify-content:space-between;gap:2rem;align-items:end;margin-bottom:2rem}
.cmp-reviews-section-head>p{max-width:32ch;color:var(--cmp-muted)}
.cmp-reviews-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem}
.cmp-review-card{display:flex;flex-direction:column;padding:2rem;border:1px solid var(--cmp-line);background:#fff;min-width:0}
.cmp-review-stars{color:var(--cmp-green);letter-spacing:.14em;font-size:1.2rem;margin:0 0 1.2rem}
.cmp-review-stars span{color:#a5b6a8}
.cmp-review-card blockquote{margin:0 0 2rem;overflow-wrap:anywhere;flex:1}
.cmp-review-byline{display:flex;gap:.6rem;flex-wrap:wrap;align-items:baseline}
.cmp-review-byline span,.cmp-review-meta{color:var(--cmp-muted);font-size:.84rem}
.cmp-review-meta{display:flex;gap:.5rem;flex-wrap:wrap;border-top:1px solid var(--cmp-line);padding-top:.8rem;margin-top:.8rem}
.cmp-review-meta span+span{color:var(--cmp-green);font-weight:700}
.cmp-review-more{text-align:center;margin:2.5rem 0 0}
.cmp-reviews-elsewhere{display:flex;justify-content:space-between;gap:2rem;align-items:center;background:#244b37;color:#fff;padding:clamp(1.6rem,4vw,4rem);margin-top:5rem}
.cmp-reviews-elsewhere .cmp-eyebrow{color:#d8e6db}
.cmp-reviews-elsewhere>div:last-child{display:grid;gap:.8rem;min-width:15rem}
.cmp-reviews-elsewhere a{text-decoration:underline;text-underline-offset:.2em;font-weight:700}
@media(max-width:900px){.cmp-reviews-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cmp-review-form-panel{grid-template-columns:1fr}}
@media(max-width:600px){.cmp-reviews-grid,.cmp-review-form-pair{grid-template-columns:1fr}.cmp-reviews-section-head,.cmp-reviews-elsewhere{display:block}.cmp-reviews-elsewhere>div:last-child{margin-top:2rem}.cmp-review-card{padding:1.4rem}}

/* Compact third route for fixed six-card, single-design packs. */
.cmp-cards-routes.cmp-cards-routes-three{grid-template-columns:repeat(3,minmax(0,1fr))}
.cmp-cards-fixed-packs{scroll-margin-top:calc(var(--cmp-admin-bar-height) + var(--cmp-header-height) + 1rem);background:#f6f8f5;border-top:1px solid var(--cmp-line);padding-block:clamp(3.5rem,6vw,5.5rem)}
.cmp-cards-fixed-heading{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:2rem}
.cmp-cards-fixed-heading h2{font-size:clamp(2.2rem,4vw,3.8rem);line-height:1.08;letter-spacing:-.055em;margin:.45rem 0 .7rem}
.cmp-cards-fixed-heading p:last-child{max-width:75ch;color:var(--cmp-muted);margin:0}
@media(min-width:1000px){
  .cmp-shop-christmas-cards .cmp-shop-range-heading p:last-child{max-width:75ch}
  .pms-curriculum .pms-section__heading p:last-child{max-width:830px}
  .cmp-help-faq p{max-width:75ch}
}
.cmp-cards-fixed-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:.9rem}
.cmp-shop-landing .cmp-cards-fixed-grid .cmp-shop-product-image{height:clamp(150px,16vw,220px);aspect-ratio:auto;min-height:0;overflow:hidden;padding:.55rem}
.cmp-shop-landing .cmp-cards-fixed-grid .cmp-shop-product-copy{padding:.9rem}
.cmp-shop-landing .cmp-cards-fixed-grid .cmp-shop-product-copy h3{font-size:.91rem;line-height:1.32;min-height:2.6em}
.cmp-cards-fixed-grid .cmp-shop-price{font-size:.95rem;margin:.15rem 0 .7rem}
.cmp-cards-fixed-grid .cmp-shop-preview{margin-bottom:.65rem}
.cmp-cards-fixed-grid .cmp-shop-preview-images img{width:50px;height:50px}
.cmp-cards-fixed-grid .cmp-direct-buy{display:grid;grid-template-columns:1fr auto;gap:.45rem;margin-top:auto}
.cmp-cards-fixed-grid .cmp-direct-buy label{font-size:.78rem}
.cmp-cards-fixed-grid .cmp-direct-buy input{width:56px;min-height:40px}
.cmp-cards-fixed-grid .cmp-direct-buy .cmp-button{grid-column:1/-1;width:100%;padding:.65rem .5rem}
@media(max-width:1200px){.cmp-cards-fixed-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:900px){.cmp-cards-fixed-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.cmp-cards-routes.cmp-cards-routes-three{grid-template-columns:1fr}.cmp-cards-fixed-heading{display:block}.cmp-cards-fixed-heading .cmp-shop-range-count{display:inline-block;margin-top:1rem}.cmp-cards-fixed-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.cmp-shop-landing .cmp-cards-fixed-grid .cmp-shop-product-copy{padding:.7rem}.cmp-shop-landing .cmp-cards-fixed-grid .cmp-shop-product-copy h3{font-size:.82rem}.cmp-cards-fixed-grid .cmp-direct-buy label{font-size:.73rem}}
.cmp-cards-fixed-grid .cmp-shop-product-image .cmp-shop-preview-open{min-height:0;overflow:hidden}
.cmp-cards-fixed-grid .cmp-shop-product-image .cmp-shop-preview-open img{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain}
.cmp-gallery-body .cmp-gallery-search,
.cmp-gallery-body .cmp-gallery-search .cmp-search-input-row{max-width:none}

/* Bring the gallery photographs into the first screen while keeping filters visible. */
.cmp-gallery-body{padding-top:1.6rem}
.cmp-gallery-body .cmp-gallery-search{margin:1.15rem 0 1.5rem}
.cmp-gallery-list-heading{align-items:center;gap:1.2rem;margin-bottom:1rem}
.cmp-gallery-list-title{min-width:0;flex:none}
.cmp-gallery-list-heading h2{margin:0}
.cmp-gallery-list-title .cmp-inline-link{display:inline-block;margin-top:.3rem}
.cmp-gallery-list-heading .cmp-gallery-filters{min-width:0;flex:1;margin:0}
.cmp-gallery-list-heading .cmp-gallery-filters-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.cmp-gallery-list-heading .cmp-gallery-filter-links{justify-content:flex-end;gap:.35rem}
.cmp-gallery-list-heading .cmp-gallery-filter{flex:none;white-space:nowrap;padding:.4rem .55rem;font-size:.73rem;gap:.3rem}
.cmp-gallery-list-heading .cmp-gallery-filter span{font-size:.66rem}
.cmp-gallery-mobile-filter{display:none}
@media(max-width:1380px){
  .cmp-gallery-list-heading .cmp-gallery-filters{display:none}
  .cmp-gallery-list-title{min-width:0;flex:1}
  .cmp-gallery-mobile-filter{display:block;flex:none;width:190px}
  .cmp-gallery-mobile-filter label{display:block;margin-bottom:.25rem;color:var(--cmp-muted);font-size:.68rem;font-weight:700}
  .cmp-gallery-mobile-filter select{box-sizing:border-box;display:block;width:100%;height:40px;padding:.45rem 1.5rem .45rem .5rem;border:1px solid var(--cmp-line);border-radius:3px;background:#fff;color:var(--cmp-ink);font-family:inherit;font-size:.78rem;font-weight:700;text-overflow:ellipsis}
}
@media(max-width:600px){
  .cmp-gallery-hero{min-height:250px}
  .cmp-gallery-hero-content{padding-block:1.5rem}
  .cmp-gallery-body{padding-top:1.35rem}
  .cmp-gallery-body .cmp-gallery-search{margin:.8rem 0 1.2rem}
  .cmp-gallery-list-heading{display:flex;align-items:end;gap:.55rem;margin-bottom:.8rem}
  .cmp-gallery-list-title{min-width:0;flex:1}
  .cmp-gallery-list-heading h2{font-size:clamp(1.35rem,6vw,1.8rem);line-height:1.12}
  .cmp-gallery-mobile-filter{width:min(42%,155px)}
}
.cmp-browse-all .cmp-collection-heading{padding-bottom:1.5rem}
.cmp-browse-all .cmp-collection-heading .cmp-browse-total{display:inline-block;max-width:none;margin:1.2rem 0 0;padding:.45rem .75rem;border-left:3px solid var(--cmp-green);background:var(--cmp-soft);color:var(--cmp-green);font-size:.92rem;font-weight:700}
.cmp-browse-controls{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,230px) auto;align-items:end;gap:.8rem;margin:1rem 0 2.1rem}
.cmp-browse-controls label{display:block;margin-bottom:.5rem;font-size:.85rem;font-weight:700}
.cmp-browse-controls input,.cmp-browse-controls select{box-sizing:border-box;width:100%;min-height:46px;padding:.7rem .85rem;border:1px solid var(--cmp-line);border-radius:0;background:#fff;color:var(--cmp-ink);font:inherit}
.cmp-browse-controls .cmp-button{min-height:46px;white-space:nowrap}
.cmp-browse-filters{margin:0 0 2.4rem}
.cmp-browse-results-heading{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin:0 0 1.3rem}
.cmp-browse-results-heading h2{margin:0;font-size:clamp(1.5rem,2.8vw,2.3rem);letter-spacing:-.035em}
.cmp-browse-results-heading p{margin:0;color:var(--cmp-muted);font-size:.9rem;font-weight:700;white-space:nowrap}
.cmp-browse-empty{padding:1.4rem;background:var(--cmp-soft)}
.cmp-browse-empty a{color:var(--cmp-green);font-weight:700;text-decoration:underline}
@media(max-width:700px){.cmp-browse-controls{grid-template-columns:minmax(0,1fr) minmax(135px,.55fr)}.cmp-browse-controls .cmp-button{grid-column:1/-1}.cmp-browse-results-heading{align-items:start;flex-direction:column;gap:.3rem}}
@media(max-width:430px){.cmp-browse-controls{grid-template-columns:1fr}.cmp-browse-controls .cmp-button{grid-column:auto}}
@media(max-width:350px){
  .cmp-header-inner{width:calc(100% - 1rem);gap:.5rem}
  .cmp-header-actions{gap:.4rem}
  .cmp-shop-calendars .cmp-shop-calendar-covers{aspect-ratio:auto;min-width:0}
  .cmp-gallery-body .cmp-more-button{max-width:100%;white-space:normal}
}
