/* Sample CMS content adapted to Hyva. Scoped to preserve theme components. */
.hosting-sample-cms { color:var(--color-ink,#0f172a); line-height:1.6; }
.hosting-sample-cms .blocks-promo { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.5rem; margin:1.5rem 0; }
.hosting-sample-cms .block-promo { display:flex; flex-direction:column; position:relative; overflow:hidden; background:var(--color-surface,#fff); border:1px solid #e2e8f0; border-radius:1rem; color:inherit; text-decoration:none; box-shadow:0 1px 3px #0f172a0d; }
.hosting-sample-cms .block-promo:first-child { grid-column:1/-1; }
.hosting-sample-cms .block-promo img { display:block; width:100%; max-width:100%; height:auto; object-fit:cover; }
.hosting-sample-cms .block-promo .content { display:flex; flex-direction:column; align-items:flex-start; gap:.75rem; padding:1.5rem; position:static; background:var(--color-surface,#fff); }
.hosting-sample-cms .block-promo .title { display:block; font-size:clamp(1.3rem,2.5vw,2rem); font-weight:700; line-height:1.2; }
.hosting-sample-cms .block-promo .info { display:block; font-size:1rem; }
.hosting-sample-cms .block-promo .more { display:inline-flex; align-items:center; gap:.5rem; font-weight:600; color:var(--color-primary,#1d4ed8); }
.hosting-sample-cms .block-promo .more::after { content:'→'; }
.hosting-sample-cms .block-promo .button.more { padding:.65rem 1rem; border-radius:.5rem; background:var(--color-primary,#1d4ed8); color:#fff; }
.hosting-sample-cms .block-promo:hover { border-color:#94a3b8; }
.hosting-sample-cms a:focus-visible { outline:3px solid #2563eb; outline-offset:3px; }
.hosting-sample-cms .categories-menu { border:1px solid #e2e8f0; border-radius:.75rem; padding:1.25rem; margin-bottom:1.5rem; background:#f8fafc; }
.hosting-sample-cms .categories-menu .title { display:block; font-size:1.125rem; font-weight:700; margin-bottom:.75rem; }
.hosting-sample-cms .categories-menu ul { list-style:none; margin:0; padding:0; }
.hosting-sample-cms .categories-menu li { margin:.35rem 0; }
.hosting-sample-cms .categories-menu a { display:block; padding:.35rem .5rem; border-radius:.375rem; }
.hosting-sample-cms .categories-menu a:hover { background:#e2e8f0; }
.hosting-sample-cms .links { display:flex; flex-wrap:wrap; gap:.75rem 1.5rem; list-style:none; padding:0; }
.hosting-sample-cms .contact-info { padding:1.5rem; border:1px solid #e2e8f0; border-radius:.75rem; }
@media (min-width:768px) {
 .hosting-sample-cms .block-promo:first-child { display:grid; grid-template-columns:3fr 2fr; align-items:center; }
 .hosting-sample-cms .block-promo:first-child img { height:100%; min-height:16rem; }
}
@media (max-width:639px) { .hosting-sample-cms .blocks-promo { grid-template-columns:minmax(0,1fr); gap:1rem; } .hosting-sample-cms .block-promo .content { padding:1rem; } }
/* Luma campaign composition, rendered with Hyva typography and controls. */
.hosting-sample-cms .blocks-promo { grid-template-columns:repeat(12,minmax(0,1fr)); }
.hosting-sample-cms .blocks-promo > .block-promo { grid-column:span 6; }
.hosting-sample-cms .blocks-promo > .block-promo:first-child { grid-column:1/-1; display:block; }
.hosting-sample-cms .block-promo-wrapper { grid-column:span 8; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.5rem; }
.hosting-sample-cms .block-promo-wrapper > .block-promo:first-child { grid-column:auto; }
.hosting-sample-cms .home-performance { grid-column:span 4!important; }
.hosting-sample-cms .home-eco { grid-column:1/-1!important; }
.hosting-sample-cms .content-heading { margin:2.5rem 0 1.5rem; text-align:center; }
.hosting-sample-cms .content-heading .title { display:block; font-size:1.75rem; font-weight:700; }
.hosting-sample-cms .content-heading .info { display:block; margin-top:.5rem; }
@media (min-width:768px) {
 .hosting-sample-cms .block-promo:first-child { display:flex; }
 .hosting-sample-cms .block-promo.home-main,
 .hosting-sample-cms .block-promo.womens-main,
 .hosting-sample-cms .block-promo.mens-main,
 .hosting-sample-cms .block-promo.gear-main,
 .hosting-sample-cms .block-promo.training-main,
 .hosting-sample-cms .block-promo.sale-main,
 .hosting-sample-cms .block-promo.new-main { min-height:22rem; }
 .hosting-sample-cms .block-promo.home-main img,
 .hosting-sample-cms .block-promo.womens-main img,
 .hosting-sample-cms .block-promo.mens-main img,
 .hosting-sample-cms .block-promo.gear-main img,
 .hosting-sample-cms .block-promo.training-main img,
 .hosting-sample-cms .block-promo.sale-main img,
 .hosting-sample-cms .block-promo.new-main img { height:100%; min-height:22rem; max-height:32rem; object-fit:cover; }
 .hosting-sample-cms .block-promo.home-main .content,
 .hosting-sample-cms .block-promo.womens-main .content,
 .hosting-sample-cms .block-promo.mens-main .content,
 .hosting-sample-cms .block-promo.gear-main .content,
 .hosting-sample-cms .block-promo.training-main .content,
 .hosting-sample-cms .block-promo.sale-main .content,
 .hosting-sample-cms .block-promo.new-main .content { position:absolute; top:50%; right:2rem; transform:translateY(-50%); max-width:42%; border-radius:.75rem; background:#fffffff0; }
 .hosting-sample-cms .block-promo.home-pants img,.hosting-sample-cms .block-promo.home-performance img { flex:1; object-fit:cover; }
}
@media (max-width:767px) {
 .hosting-sample-cms .blocks-promo { grid-template-columns:minmax(0,1fr); }
 .hosting-sample-cms .blocks-promo > .block-promo,.hosting-sample-cms .block-promo-wrapper { grid-column:1/-1!important; }
 .hosting-sample-cms .block-promo-wrapper { gap:1rem; }
 .hosting-sample-cms .block-promo .content { padding:1rem; }
}
@media (max-width:479px) { .hosting-sample-cms .block-promo-wrapper { grid-template-columns:minmax(0,1fr); } }
/* Homepage fixture nests all five secondary campaigns in one wrapper. */
@media (min-width:768px) {
 .hosting-sample-cms .block-promo-hp { grid-column:1/-1; grid-template-columns:repeat(12,minmax(0,1fr)); }
 .hosting-sample-cms .block-promo-hp > .block-promo { grid-column:span 4!important; display:flex; }
 .hosting-sample-cms .block-promo-hp > .home-t-shirts { grid-column:span 8!important; }
 .hosting-sample-cms .block-promo-hp .block-promo img { min-height:0; height:auto; }
}
/* Reset legacy pub/media/styles.css dimensions inside adapted CMS only. */
.hosting-sample-cms .block-promo-wrapper::before,
.hosting-sample-cms .block-promo-wrapper::after { display:none; content:none; }
.hosting-sample-cms .block-promo { width:100%; max-width:none; min-width:0; height:auto; float:none; border:1px solid #e2e8f0; }
.hosting-sample-cms .block-promo img { position:static; margin:0; float:none; }
.hosting-sample-cms .block-promo .image { display:block; width:100%; padding:0; }
.hosting-sample-cms .block-promo .content { width:auto; min-width:0; left:auto; bottom:auto; }
.hosting-sample-cms .block-promo .title { font-size:clamp(1.3rem,2.5vw,2rem)!important; white-space:normal; font-family:inherit; }
.hosting-sample-cms .block-promo .icon.more::after { font-family:inherit; content:'→'; }
.hosting-sample-cms .block-promo-hp .block-promo .content { position:static; transform:none; }
@media (max-width:767px) {
 .hosting-sample-cms .block-promo .content { position:static; transform:none; }
}
@media (min-width:768px) {
 .hosting-sample-cms .block-promo-hp .block-promo img { height:18rem; min-height:0; max-height:18rem; object-fit:cover; flex:none; }
}
/* Category fixtures contain their own two/three-column groups. */
:is(.category-women,.category-men) .hosting-sample-cms .blocks-promo { grid-template-columns:repeat(2,minmax(0,1fr)); }
:is(.category-women,.category-men) .hosting-sample-cms .blocks-promo > :is(.block-promo,.block-promo-wrapper) { grid-column:1/-1; }
:is(.category-women,.category-men) .hosting-sample-cms .block-promo-wrapper { width:100%; min-width:0; }
:is(.category-women,.category-men) .hosting-sample-cms .block-promo-wrapper > .block-promo { grid-column:auto; }
:is(.category-women,.category-men) .hosting-sample-cms .block-promo-3columns { grid-template-columns:repeat(3,minmax(0,1fr)); }
:is(.category-women,.category-men) .hosting-sample-cms .block-promo-wrapper .block-promo img { height:18rem; min-height:0; max-height:18rem; object-fit:cover; }
:is(.category-women,.category-men) .hosting-sample-cms .block-promo-wrapper .content { position:static; transform:none; }
:is(.category-women,.category-men) .hosting-sample-cms :is(.womens-erin,.mens-erin) { display:grid; grid-template-columns:1fr 1fr; align-items:center; }
:is(.category-women,.category-men) .hosting-sample-cms :is(.womens-erin,.mens-erin) img { height:20rem; object-fit:cover; }
@media (max-width:767px) {
 :is(.category-women,.category-men) .hosting-sample-cms .blocks-promo,
 :is(.category-women,.category-men) .hosting-sample-cms .block-promo-wrapper,
 :is(.category-women,.category-men) .hosting-sample-cms :is(.womens-erin,.mens-erin) { grid-template-columns:minmax(0,1fr); }
}
:is(.category-women,.category-men) .hosting-sample-cms .block-promo-wrapper > .block-promo { width:100%; max-width:none; height:auto; float:none; border:1px solid #e2e8f0; }
:is(.category-women,.category-men) .hosting-sample-cms .block-promo-wrapper .block-promo .content { width:auto; padding:1.5rem; }
/* Compact category campaigns; never upscale the small Luma source images. */
:is(.category-women,.category-men) .hosting-sample-cms { max-width:1040px; margin-inline:auto; }
:is(.category-women,.category-men) .hosting-sample-cms .blocks-promo { gap:1rem; }
:is(.category-women,.category-men) .hosting-sample-cms .block-promo-wrapper { gap:1rem; }
:is(.category-women,.category-men) .hosting-sample-cms .block-promo .title { font-size:1.35rem!important; line-height:1.25; }
:is(.category-women,.category-men) .hosting-sample-cms .block-promo .info,
:is(.category-women,.category-men) .hosting-sample-cms .block-promo .more { font-size:1rem; line-height:1.4; }
:is(.category-women,.category-men) .hosting-sample-cms .block-promo .content { padding:1rem; gap:.5rem; }
:is(.category-women,.category-men) .hosting-sample-cms :is(.womens-main,.mens-main) { min-height:0; height:300px; }
:is(.category-women,.category-men) .hosting-sample-cms :is(.womens-main,.mens-main) img { min-height:0; height:300px; max-height:300px; object-fit:cover; }
:is(.category-women,.category-men) .hosting-sample-cms .block-promo-wrapper .block-promo img { height:160px; min-height:0; max-height:160px; object-fit:scale-down; }
:is(.category-women,.category-men) .hosting-sample-cms .block-promo-wrapper .block-promo .content { padding:1rem; }
:is(.category-women,.category-men) .hosting-sample-cms :is(.womens-erin,.mens-erin) { grid-template-columns:263px minmax(0,1fr); }
:is(.category-women,.category-men) .hosting-sample-cms :is(.womens-erin,.mens-erin) img { height:199px; object-fit:scale-down; }
@media (min-width:768px) {
 :is(.category-women,.category-men) .hosting-sample-cms .block-promo-2columns > .block-promo { flex-direction:row; align-items:center; }
 :is(.category-women,.category-men) .hosting-sample-cms .block-promo-2columns > .block-promo > :is(img,.image) { width:40%; flex:0 0 40%; padding:0; }
 :is(.category-women,.category-men) .hosting-sample-cms .block-promo-2columns .block-promo .content { flex:1; }
}
@media (max-width:767px) {
 :is(.category-women,.category-men) .hosting-sample-cms :is(.womens-main,.mens-main) { height:auto; }
 :is(.category-women,.category-men) .hosting-sample-cms :is(.womens-main,.mens-main) img { height:auto; max-height:240px; }
 :is(.category-women,.category-men) .hosting-sample-cms :is(.womens-main,.mens-main) .content { max-width:none; }
 :is(.category-women,.category-men) .hosting-sample-cms :is(.womens-erin,.mens-erin) { grid-template-columns:minmax(0,1fr); }
}
@media (min-width:768px) {
 :is(.category-women,.category-men) .hosting-sample-cms :is(.womens-erin,.mens-erin) > img { grid-column:1; grid-row:1; }
 :is(.category-women,.category-men) .hosting-sample-cms :is(.womens-erin,.mens-erin) > .content { grid-column:2; grid-row:1; }
}
