/* Coast Club demo: banners use the existing California palette. */
.hero[hidden],.cc-promo[hidden]{display:none!important}.cc-promo{position:relative;overflow:hidden;background:linear-gradient(115deg,#ffacc5,#fce7d1 50%,#83dcd4);color:var(--brown);border-radius:15px;isolation:isolate;min-height:260px;display:flex;align-items:center;padding:36px;margin:24px 0}.cc-promo picture{position:absolute;inset:0;z-index:-2}.cc-promo img{width:100%;height:100%;object-fit:cover}.cc-promo.has-image:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#fff9f0f5,#fff9f0d9 45%,#fff9f038)}.cc-promo:not(.has-image):after{content:'✷';position:absolute;right:5%;bottom:-75px;font-size:300px;color:#fff7;z-index:-1}.cc-promo-copy{max-width:620px}.cc-promo h2{font-size:clamp(28px,4vw,52px);line-height:1.02;margin:12px 0;overflow-wrap:anywhere}.cc-promo p{font-size:18px;line-height:1.6;white-space:pre-line;overflow-wrap:anywhere}.cc-promo .cta{margin-top:10px}.cc-hero-shell{position:relative}.cc-hero-shell .cc-promo{border-radius:0;margin:0;min-height:450px;padding:55px 7% 75px}.cc-hero-shell h2{font-size:clamp(42px,7vw,86px);letter-spacing:-3px}.cc-hero-controls{position:absolute;bottom:20px;left:7%;display:flex;gap:10px;align-items:center;flex-wrap:wrap}.cc-hero-controls button{border-radius:30px;background:#fff9f0;color:var(--brown);padding:10px 14px;border:1px solid #50382f44}.cc-hero-controls button[aria-pressed=true]{background:var(--brown);color:white}.cc-hero-controls button:focus-visible,.cc-promo a:focus-visible{outline:3px solid var(--pink);outline-offset:3px}.cc-grid-promo{grid-column:1/-1;margin:0;min-width:0}.cc-banner-toolbar{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin:16px 0}.cc-banner-form{background:white;border:1px solid #ead9ce;border-radius:15px;padding:20px;display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:20px 0}.cc-banner-form label{display:grid;gap:6px;font-weight:bold;font-size:13px}.cc-banner-form input,.cc-banner-form textarea,.cc-banner-form select{width:100%;padding:11px;border:1px solid #cabcb0;border-radius:8px;background:white;font:inherit;min-width:0}.cc-banner-form textarea{min-height:90px}.cc-banner-form .cc-full{grid-column:1/-1}.cc-banner-form .cc-check{display:flex;align-items:center;gap:9px}.cc-banner-form .cc-check input{width:20px;height:20px}.cc-banner-actions{display:flex;gap:8px;flex-wrap:wrap}.cc-banner-card{background:white;border:1px solid #ead9ce;border-radius:12px;padding:16px;margin:12px 0;overflow-wrap:anywhere}.cc-banner-card header{position:static;padding:0;background:transparent;gap:12px;flex-wrap:wrap;border:0}.cc-banner-card h4{margin:0;font-size:17px}.cc-banner-card button{padding:9px;border-radius:7px;background:#f7d5df}.cc-banner-card .cc-banner-actions{margin-top:12px}.cc-media-preview{max-width:100%;height:100px;object-fit:cover;border-radius:8px}.cc-banner-status{min-height:24px;font-size:14px;line-height:1.5;color:#674f45}.cc-banner-preview{grid-column:1/-1;min-width:0}.cc-banner-preview .cc-promo{margin:0}.cc-banner-preview.mobile{max-width:390px}.cc-banner-preview.mobile .cc-promo{padding:25px;min-height:340px}.cc-banner-preview.mobile h2{font-size:36px}.cc-preview-tools{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:10px}.cc-preview-tools button{padding:10px;border-radius:8px}.cc-banner-meta{font-size:12px;color:#79665e;line-height:1.7}.cc-banner-card.dragging{opacity:.5}.cc-banner-card.drop-target{outline:3px dashed var(--pink)}@media(max-width:600px){.cc-banner-form{grid-template-columns:1fr;padding:14px}.cc-banner-form .cc-full{grid-column:auto}.cc-promo{padding:26px;min-height:300px}.cc-hero-shell .cc-promo{padding:40px 6% 95px;min-height:440px}.cc-hero-shell h2{font-size:48px;letter-spacing:-2px}.cc-hero-controls{left:6%;right:6%;gap:6px}.cc-hero-controls button{padding:9px 11px}.cc-promo p{font-size:16px}}
/* Shared pointer/touch sorting and horizontal carousel gestures. */
.cc-hero-viewport{overflow:hidden;touch-action:pan-y}.cc-hero-track{display:flex;transform:translateX(-100%);will-change:transform}.cc-hero-track.settling{transition:transform 260ms cubic-bezier(.22,.7,.25,1)}.cc-hero-track>.cc-hero-slide{flex:0 0 100%;width:100%;min-width:0;box-sizing:border-box}.cc-swiping,.cc-swiping *{cursor:grabbing!important;user-select:none}.cc-hero-viewport img{-webkit-user-drag:none}.cc-drag-handle{touch-action:none!important;cursor:grab!important;user-select:none;border:1px solid #cabcb0!important;background:#fff9f0!important;color:var(--brown)!important;border-radius:8px!important;padding:10px 14px!important;font-size:22px!important;min-width:44px;min-height:44px}.cc-drag-handle:focus-visible{outline:3px solid var(--turq);outline-offset:3px}.cc-drag-handle:disabled{opacity:.4;cursor:not-allowed!important}.cc-sort-source{opacity:.3}.cc-sort-ghost{position:fixed!important;z-index:9999!important;pointer-events:none!important;margin:0!important;opacity:.95;background:#fff9f0!important;box-shadow:0 14px 45px #50382f44;border:2px solid var(--pink)!important;max-height:300px;overflow:hidden}.cc-banner-card,.adminrow{position:relative}.cc-drop-before:before,.cc-drop-after:after{content:'Soltar aquí';position:absolute;left:0;right:0;height:4px;background:var(--pink);font-size:11px;line-height:18px;text-align:right;color:var(--brown);z-index:2}.cc-drop-before:before{top:-8px}.cc-drop-after:after{bottom:-8px}.cc-sorting{user-select:none!important}.cc-sort-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap;flex-shrink:0;max-width:190px}.cc-rank{font-size:11px;color:#79665e}.cc-order-toolbar{padding:15px;background:#f7eee5;border:1px solid #ead9ce;border-radius:12px;margin:15px 0}.cc-order-toolbar select{padding:10px;border:1px solid #cabcb0;border-radius:8px;font:inherit;max-width:100%;background:white}@media(max-width:600px){.cc-sort-actions{width:100%;max-width:none}.cc-banner-card>.cc-drag-handle{margin-bottom:10px}}@media(prefers-reduced-motion:reduce){.cc-hero-track.settling{transition:none}.cc-sort-ghost{transition:none}}
.cc-insertion-line{position:fixed;z-index:10000;pointer-events:none;border-top:5px solid #167e78;background:#fff2d9;color:#49382e;box-shadow:0 0 0 2px #fff9f0;font:bold 12px/20px Arial,sans-serif;text-align:center;border-radius:3px;max-width:100vw}.cc-insertion-line[hidden]{display:none}

/* A single overlay keeps the insertion edge visible even when its row is clipped. */
.cc-sorting .cc-drop-before:before,.cc-sorting .cc-drop-after:after{content:none}
/* Explicit banner layouts override the visual editor's generic contained-image rule. */
.cc-promo.has-image>picture>img{object-position:var(--cc-focal-x,50%) var(--cc-focal-y,50%)}
.cc-promo.has-image:before{opacity:var(--cc-overlay,1);pointer-events:none}
.cc-promo.has-image.cc-layout-full>picture,.cc-promo.has-image.cc-layout-left>picture,.cc-promo.has-image.cc-layout-right>picture{display:block}
.cc-promo.has-image.cc-layout-full>picture>img,.cc-promo.has-image.cc-layout-left>picture>img,.cc-promo.has-image.cc-layout-right>picture>img{display:block;object-fit:cover;max-height:none;max-width:none;width:100%;height:100%}
.cc-promo.has-image.cc-layout-left,.cc-promo.has-image.cc-layout-right{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:center}
.cc-promo.has-image.cc-layout-right>picture{left:auto;width:50%}.cc-promo.has-image.cc-layout-left>picture{right:auto;width:50%}
.cc-promo.has-image.cc-layout-right>.cc-promo-copy{grid-column:1;grid-row:1;max-width:none}.cc-promo.has-image.cc-layout-left>.cc-promo-copy{grid-column:2;grid-row:1;max-width:none}
.cc-promo.has-image.cc-layout-right:before{left:auto;width:50%}.cc-promo.has-image.cc-layout-left:before{right:auto;width:50%;background:linear-gradient(270deg,#fff9f0f5,#fff9f0d9 45%,#fff9f038)}
.cc-banner-preview{overflow:auto}.cc-banner-preview:not(.mobile) .cc-promo{min-width:980px}.cc-banner-preview .cc-hero{min-height:450px}.cc-banner-preview .cc-preview-desktop.cc-hero h2{font-size:70px;letter-spacing:-3px}.cc-banner-preview .cc-layout-legacy>picture>img{object-fit:contain;max-height:540px}
.cc-promo.has-image.cc-preview-mobile>picture>img{object-position:var(--cc-mobile-focal-x,50%) var(--cc-mobile-focal-y,50%)}
.cc-promo.has-image.cc-preview-mobile.cc-layout-left,.cc-promo.has-image.cc-preview-mobile.cc-layout-right{display:flex;align-items:stretch;gap:0;padding:0!important;min-height:0}
.cc-promo.has-image.cc-preview-mobile.cc-layout-left{flex-direction:column}.cc-promo.has-image.cc-preview-mobile.cc-layout-right{flex-direction:column-reverse}
.cc-promo.has-image.cc-preview-mobile.cc-layout-left>picture,.cc-promo.has-image.cc-preview-mobile.cc-layout-right>picture{position:relative;inset:auto;width:100%;height:240px;flex-shrink:0}
.cc-promo.has-image.cc-preview-mobile.cc-layout-left>.cc-promo-copy,.cc-promo.has-image.cc-preview-mobile.cc-layout-right>.cc-promo-copy{padding:32px 24px}
.cc-promo.has-image.cc-preview-mobile.cc-layout-left:before,.cc-promo.has-image.cc-preview-mobile.cc-layout-right:before{inset:auto 0;width:100%;height:240px}.cc-promo.has-image.cc-preview-mobile.cc-layout-left:before{top:0}.cc-promo.has-image.cc-preview-mobile.cc-layout-right:before{bottom:0}
@media(max-width:600px){
 .cc-promo.has-image:not(.cc-preview-desktop)>picture>img{object-position:var(--cc-mobile-focal-x,50%) var(--cc-mobile-focal-y,50%)}
 .cc-promo.has-image.cc-layout-left:not(.cc-preview-desktop),.cc-promo.has-image.cc-layout-right:not(.cc-preview-desktop){display:flex;align-items:stretch;gap:0;padding:0!important;min-height:0}
 .cc-promo.has-image.cc-layout-left:not(.cc-preview-desktop){flex-direction:column}.cc-promo.has-image.cc-layout-right:not(.cc-preview-desktop){flex-direction:column-reverse}
 .cc-promo.has-image.cc-layout-left:not(.cc-preview-desktop)>picture,.cc-promo.has-image.cc-layout-right:not(.cc-preview-desktop)>picture{position:relative;inset:auto;width:100%;height:240px;flex-shrink:0}
 .cc-promo.has-image.cc-layout-left:not(.cc-preview-desktop)>.cc-promo-copy,.cc-promo.has-image.cc-layout-right:not(.cc-preview-desktop)>.cc-promo-copy{padding:32px 24px}
 .cc-hero-shell .cc-promo.has-image.cc-layout-left>.cc-promo-copy{padding-bottom:95px}
 .cc-promo.has-image.cc-layout-left:not(.cc-preview-desktop):before,.cc-promo.has-image.cc-layout-right:not(.cc-preview-desktop):before{inset:auto 0;width:100%;height:240px}.cc-promo.has-image.cc-layout-left:not(.cc-preview-desktop):before{top:0}.cc-promo.has-image.cc-layout-right:not(.cc-preview-desktop):before{bottom:0}
}
/* Finished designs are an image, not a layered promo. These rules also beat editor image styles. */
.cc-promo.cc-ready,.cc-hero-shell .cc-promo.cc-ready,.cc-banner-preview .cc-promo.cc-ready{display:block;padding:0!important;min-height:0;background:transparent;align-self:flex-start}
.cc-promo.cc-ready:before,.cc-promo.cc-ready:after{content:none!important;display:none!important}
.cc-promo.cc-ready>picture,.cc-promo.cc-ready>.cc-ready-link>picture{display:block;position:relative;inset:auto;z-index:auto;width:100%;height:auto}
.cc-promo.cc-ready>.cc-ready-link{display:block;width:100%;color:inherit}
.cc-promo.cc-ready>picture>img,.cc-promo.cc-ready>.cc-ready-link>picture>img{display:block;max-width:none;max-height:none;width:100%;height:auto;object-fit:contain;object-position:center}
.cc-promo.cc-ready-contain>picture,.cc-promo.cc-ready-contain>.cc-ready-link>picture,.cc-promo.cc-ready-cover>picture,.cc-promo.cc-ready-cover>.cc-ready-link>picture{height:var(--cc-ready-height,450px)}
.cc-promo.cc-ready-contain>picture>img,.cc-promo.cc-ready-contain>.cc-ready-link>picture>img,.cc-promo.cc-ready-cover>picture>img,.cc-promo.cc-ready-cover>.cc-ready-link>picture>img{height:100%}
.cc-promo.cc-ready-cover>picture>img,.cc-promo.cc-ready-cover>.cc-ready-link>picture>img{object-fit:cover;object-position:var(--cc-focal-x,50%) var(--cc-focal-y,50%)}
.cc-hero-shell.cc-hero-ready-active .cc-hero-controls{position:relative;inset:auto;padding:14px 7%;background:var(--cream);margin:0}
.cc-promo.cc-ready.cc-preview-mobile>picture,.cc-promo.cc-ready.cc-preview-mobile>.cc-ready-link>picture{height:var(--cc-ready-mobile-height,400px)}
.cc-promo.cc-ready-auto.cc-preview-mobile>picture,.cc-promo.cc-ready-auto.cc-preview-mobile>.cc-ready-link>picture{height:auto}
@media(max-width:600px){.cc-promo.cc-ready:not(.cc-preview-desktop)>picture,.cc-promo.cc-ready:not(.cc-preview-desktop)>.cc-ready-link>picture{height:var(--cc-ready-mobile-height,400px)}.cc-promo.cc-ready-auto:not(.cc-preview-desktop)>picture,.cc-promo.cc-ready-auto:not(.cc-preview-desktop)>.cc-ready-link>picture{height:auto}.cc-promo.cc-ready-cover:not(.cc-preview-desktop)>picture>img,.cc-promo.cc-ready-cover:not(.cc-preview-desktop)>.cc-ready-link>picture>img{object-position:var(--cc-mobile-focal-x,50%) var(--cc-mobile-focal-y,50%)}}
.cc-banner-form label[hidden]{display:none!important}
.cc-hero-shell.cc-has-ready .cc-hero-track{align-items:flex-start}
.cc-promo.cc-ready-contain.cc-preview-mobile>picture>img,.cc-promo.cc-ready-auto.cc-preview-mobile>picture>img{object-position:center}
.cc-promo.cc-ready-cover.cc-preview-mobile>picture>img,.cc-promo.cc-ready-cover.cc-preview-mobile>.cc-ready-link>picture>img{object-position:var(--cc-mobile-focal-x,50%) var(--cc-mobile-focal-y,50%)}
.cc-promo.cc-ready{border-radius:0}
