/* Set pages: postcard on top, selection below. Avada's gallery, title and buy button stay in the template but are not shown here. */
.cocou-set-page .fusion-fullwidth:has(.woocommerce-product-details__short-description) .fusion-layout-column:not(:has(.woocommerce-product-details__short-description)){display:none!important}
.cocou-set-page .fusion-fullwidth:has(.woocommerce-product-details__short-description) .fusion-title{display:none!important}
.cocou-set-page .fusion-layout-column:has(.woocommerce-product-details__short-description){position:static!important;width:100%!important;max-width:100%!important;flex:0 0 100%!important;transform:none!important}
.cocou-set-page .woocommerce-product-details__short-description,.cocou-set-page .fusion-woo-tabs-tb{box-sizing:border-box;width:100%;max-width:1120px;margin-left:auto;margin-right:auto}
.cocou-postcard{box-sizing:border-box;display:grid;grid-template-columns:minmax(0,46%) minmax(0,1fr);gap:36px;align-items:center;margin:0 0 28px;padding:48px;background:#f7f1e9;border-radius:8px;color:#42382f}
.cocou-postcard-image{position:relative;align-self:stretch;min-height:100%;aspect-ratio:2/3;max-height:720px;overflow:hidden;background:#e4ddcf;border-radius:4px}
.cocou-postcard-image img{position:absolute;inset:0;display:block;width:100%!important;height:100%!important;max-width:none;object-fit:cover;object-position:50% 40%;opacity:0;transition:opacity .9s}
.cocou-postcard-image img.is-active{opacity:1}
.cocou-postcard-eyebrow{margin:0 0 20px;color:#792f43;font-size:15px;letter-spacing:.15em;text-transform:uppercase}
.cocou-postcard h1{margin:22px 0;color:#754600;font-family:"Playfair Display",serif;font-size:44px;font-weight:400;line-height:1.18;letter-spacing:-.015em;text-transform:uppercase}
.cocou-postcard p{margin:0 0 20px}
.cocou-postcard-dates{font-weight:700;text-transform:uppercase}
.cocou-postcard .cocou-postcard-price{font-size:30px;line-height:1.25}
.cocou-postcard-price strong{font-weight:700}
.cocou-postcard-button{display:inline-block;padding:14px 24px;background:#792f43;color:#fff!important;font-size:15px;text-decoration:none!important}
.cocou-postcard-button:hover{background:#5f2435}
/* Selection card, same look as the Birthday Edit page. */
.cocou-set-page .cocou-product-set,.cocou-set-page .cocou-bikini-builder{box-sizing:border-box;width:auto;max-width:none;margin:0 0 28px;padding:clamp(18px,4vw,36px);background:#f7f1e9;border-radius:8px;color:#42382f}
.cocou-set-page .cocou-product-set h2,.cocou-set-page .cocou-bikini-builder h2{margin:0 0 16px;color:#754600;font-size:28px;text-transform:uppercase}
.cocou-product-set form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.cocou-product-set form>p,.cocou-product-set form>button{grid-column:1/-1;margin:0}
.cocou-picker-source{display:none!important}.cocou-set-piece [hidden],.cocou-bikini-piece [hidden],.cocou-picker-error[hidden]{display:none!important}
.cocou-set-piece,.cocou-set-page .cocou-bikini-builder .cocou-bikini-piece{box-sizing:border-box;min-width:0;margin:0;padding:14px;background:#fffdf9;border:1px solid #e8dfd3;border-radius:4px}
.cocou-piece-layout{display:grid;grid-template-columns:96px minmax(0,1fr);gap:14px;align-items:start}
.cocou-piece-photo{width:96px;height:128px;overflow:hidden;background:#efe6da;border-radius:4px}
.cocou-piece-thumb{display:block;width:96px!important;height:128px!important;max-width:none;aspect-ratio:auto!important;object-fit:cover;object-position:50% 25%}
.cocou-piece-thumb-bottom{object-position:50% 75%}
.cocou-piece-body{min-width:0}
.cocou-piece-body h3{margin:0 0 10px!important;color:#42382f;font-family:inherit;font-size:16px!important;font-weight:700;line-height:1.3}
.cocou-picker{margin-top:10px}
.cocou-piece-body label{display:block;font-size:14px}
.cocou-picker select,.cocou-piece-style select,.cocou-wrap-piece select{box-sizing:border-box;display:block;width:100%!important;max-width:100%!important;min-height:44px;margin-top:4px;padding:0 28px 0 10px!important;background-color:#fff;border:1px solid #b7a79b!important;border-radius:0;color:#42382f;font-size:14px}
.cocou-swatches{min-width:0;margin:12px 0 0;padding:0;border:0}
.cocou-swatches legend{margin:0 0 8px;padding:0;font-size:14px}
.cocou-swatch-grid{display:flex;flex-wrap:wrap;gap:12px}
.cocou-picker .cocou-swatch{position:relative;display:block;padding:3px;cursor:pointer}
.cocou-swatch input{position:absolute;width:1px;height:1px;margin:0;opacity:0}
.cocou-swatch-dot{display:block;box-sizing:border-box;width:34px;height:34px;border:1px solid #633c00;border-radius:50%}
.cocou-swatch input:checked+.cocou-swatch-dot,.cocou-swatch input:focus-visible+.cocou-swatch-dot{outline:2px solid #633c00;outline-offset:2px}
.cocou-swatch-name{min-height:18px;margin:8px 0 0;color:#633c00;font-size:13px;line-height:1.35}
.cocou-picker-error{grid-column:1/-1;margin:0 0 12px;color:#792f43;font-weight:700}
.cocou-set-page .cocou-product-set form>.button,.cocou-set-page .cocou-bikini-builder form>.button{width:100%;min-height:48px;background:#792f43!important;border:0!important;color:#fff!important}
.cocou-set-page .cocou-bikini-builder form>.button:disabled{opacity:.5}
.cocou-set-page .cocou-bikini-builder .cocou-bikini-piece button,.cocou-set-page .cocou-bikini-builder .cocou-bikini-add button{background:transparent;border:1px solid #792f43;color:#792f43}
.cocou-set-page .cocou-bikini-builder .cocou-bikini-piece button:hover,.cocou-set-page .cocou-bikini-builder .cocou-bikini-add button:hover{background:#792f43;color:#fff}
@media(max-width:700px){
.cocou-set-page .fusion-woo-short-description-tb{padding-left:0!important;padding-right:0!important}
.cocou-postcard{grid-template-columns:minmax(0,42%) minmax(0,1fr);gap:12px;padding:12px}
.cocou-postcard-eyebrow{margin-bottom:8px;font-size:10px;letter-spacing:.1em}
.cocou-postcard h1{margin:8px 0;font-size:20px}
.cocou-postcard p{margin-bottom:8px;font-size:13px;line-height:1.35}
.cocou-postcard .cocou-postcard-price{font-size:17px}
.cocou-postcard-button{display:block;padding:10px 8px;font-size:13px;text-align:center}
.cocou-product-set form,.cocou-set-builder form,.cocou-set-page .cocou-bikini-pieces{grid-template-columns:minmax(0,1fr)}
.cocou-set-page .cocou-product-set,.cocou-set-page .cocou-bikini-builder{padding:12px}
.cocou-set-piece,.cocou-set-page .cocou-bikini-builder .cocou-bikini-piece{padding:8px}
.cocou-piece-layout{grid-template-columns:72px minmax(0,1fr);gap:10px}
.cocou-piece-photo,.cocou-piece-thumb{width:72px!important;height:96px!important}
.cocou-picker select,.cocou-piece-style select,.cocou-wrap-piece select{padding:0 24px 0 8px!important}
.cocou-swatch-grid{gap:8px}
}
.cocou-wrap-piece{grid-column:1/-1;margin:16px 0}.cocou-product-set .cocou-wrap-piece,.cocou-set-builder .cocou-wrap-piece{margin:0}.cocou-wrap-piece .cocou-piece-thumb{object-position:50% 50%}
.cocou-wrap-piece .cocou-piece-layout{grid-template-columns:minmax(0,1fr) 96px}.cocou-wrap-piece .cocou-piece-photo{order:2}.cocou-wrap-piece .cocou-piece-photo:has(img[hidden]){visibility:hidden}
.cocou-wrap-price{margin:0 0 10px!important;font-size:15px}.cocou-wrap-price s{opacity:.7}
@media(max-width:700px){.cocou-wrap-piece .cocou-piece-layout{grid-template-columns:minmax(0,1fr) 72px}}

/* Sold-out colours stay visible so nobody wonders where they went. */
.cocou-picker .cocou-swatch.is-sold-out{cursor:not-allowed}
.cocou-swatch.is-sold-out .cocou-swatch-dot{position:relative;opacity:.4;filter:grayscale(.75)}
.cocou-swatch.is-sold-out .cocou-swatch-dot::after{content:"";position:absolute;inset:0;border-radius:50%;background:linear-gradient(to top right,transparent calc(50% - 1px),#633c00 calc(50% - 1px),#633c00 calc(50% + 1px),transparent calc(50% + 1px))}
