/* ------------------------------- CUSTOM PAGES (Vinařství / Vinice / Degustace) -------------------------------
   Přidat na konec css/brukevStyle.css.
   Sdílené třídy s prefixem .cp- – budou použity i na dalších podstránkách.
--------------------------------------------------------------------------------------------------------------- */

.cp-page{max-width: 1200px; margin: 0 auto; padding: 60px 0 100px; color: #000;}
.cp-page section{margin-bottom: 90px;}
.cp-page section:last-child{margin-bottom: 0;}
.cp-page h2{margin: 8px 0 12px;}
.cp-page h3{font-size: 22px; font-weight: 400; font-style: italic; margin: 0 0 20px;}
.cp-page img{display: block; max-width: 100%; height: auto;}

.cp-top-text{font-size: 14px; letter-spacing: 0.12em; text-transform: uppercase; color: #dd8924; font-weight: 700;}

/* Úvod */
.cp-intro{text-align: center;}
.cp-anchors{display: flex; justify-content: center; flex-wrap: wrap; gap: 12px; margin-top: 28px;}
.cp-anchors a{padding: 10px 22px; border: 1px solid #dd8924; color: #000; text-decoration: none; font-weight: 700; transition: background-color .2s, color .2s;}
.cp-anchors a:hover{background-color: #dd8924; color: #fff;}

/* Obrázek + text */
.cp-split{display: grid; grid-template-columns: 1fr 1fr; background-color: #fff; scroll-margin-top: 120px;}
.cp-split__img{overflow: hidden; min-height: 100%;}
.cp-split__img img{width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease;}
.cp-split:hover .cp-split__img img{transform: scale(1.04);}
.cp-split__text{padding: 50px 56px;}
.cp-split--reverse .cp-split__img{order: 2;}

/* Panel + pás fotek pod ním */
.cp-group{scroll-margin-top: 120px;}
.cp-photo-strip{display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-top: 10px;}
.cp-photo-strip a{display: block; overflow: hidden; aspect-ratio: 4 / 3; background-color: #fff;}
.cp-photo-strip img{width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease;}
.cp-photo-strip a:hover img{transform: scale(1.06);}

/* Parametry */
.cp-facts{display: grid; grid-template-columns: repeat(2, 1fr); gap: 0; margin: 28px 0; border-top: 1px solid #e6dfd3;}
.cp-facts > div{padding: 14px 16px 14px 0; border-bottom: 1px solid #e6dfd3;}
.cp-facts dt{font-size: 13px; letter-spacing: 0.08em; text-transform: uppercase; color: #8a8174; margin-bottom: 4px;}
.cp-facts dd{margin: 0; font-weight: 700; font-size: 16px;}

/* Odrůdy */
.cp-varieties__label{font-weight: 700; margin-bottom: 10px;}
.cp-varieties ul{list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px;}
.cp-varieties li{background-color: #f7f4ef; padding: 7px 14px; font-size: 15px; border-left: 3px solid #dd8924;}

/* Seznam s ikonami */
.cp-icon-list{list-style: none; margin: 20px 0; padding: 0;}
.cp-icon-list li{display: flex; align-items: flex-start; gap: 16px; padding: 12px 0; border-bottom: 1px solid #e6dfd3; font-size: 17px; line-height: 26px;}
.cp-icon-list li:last-child{border-bottom: 0;}
.cp-icon-list i{flex: 0 0 22px; color: #dd8924; font-size: 18px; line-height: 26px; text-align: center;}

/* Poznámka a tip */
.cp-note{font-size: 15px; line-height: 24px; color: #6b6358; background-color: #f7f4ef; padding: 12px 16px; margin: 24px 0 0;}
.cp-note i{color: #dd8924; margin-right: 10px;}
.cp-tip{margin-top: 28px; padding: 20px 24px; background-color: #f7f4ef; border-left: 3px solid #dd8924;}
.cp-tip__label{font-weight: 700; margin-bottom: 6px;}
.cp-tip__label i{color: #dd8924; margin-right: 10px;}
.cp-tip p{margin: 0; font-size: 16px; line-height: 25px;}
.cp-tip a, .cp-reservation a{color: #dd8924; font-weight: 700;}
.cp-tip a:hover, .cp-reservation a:hover{color: #000;}

.cp-lead{max-width: 640px; margin: 0 auto;}

/* Balíčky */
.cp-packages{display: grid; grid-template-columns: 1fr 1fr; gap: 40px; margin-top: 40px;}
.cp-package{display: flex; flex-direction: column; background-color: #fff; border-top: 4px solid #dd8924;}
.cp-package__head{padding: 36px 40px 0;}
.cp-page .cp-package__title{font-size: 32px; font-weight: 700; font-style: normal; margin: 0;}
.cp-package__sub{margin-top: 4px; font-style: italic; color: #6b6358;}
.cp-package__body{padding: 10px 40px 0; margin: 0;}
.cp-package__body dt{margin-top: 22px; font-size: 13px; letter-spacing: 0.08em; text-transform: uppercase; color: #dd8924; font-weight: 700;}
.cp-package__body dd{margin: 6px 0 0; font-size: 17px; line-height: 27px;}
.cp-package__foot{margin-top: auto; padding: 32px 40px 40px; display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap;}
.cp-package__price{font-size: 16px;}
.cp-package__price strong{font-size: 30px;}
.cp-package__price span{display: block; font-size: 14px; color: #6b6358; margin-top: 2px;}
.cp-button{display: inline-block; padding: 14px 24px; background-color: #dd8924; color: #fff !important; font-weight: 700; text-decoration: none; transition: background-color .2s;}
.cp-button:hover{background-color: #000;}
.cp-reservation{text-align: center; margin-top: 30px; font-size: 16px;}

/* Podsekce, karty, čísla */
.cp-group > * + *{margin-top: 10px;}
.cp-group > .cp-intro--section + *{margin-top: 0;}
.cp-intro--section{margin-bottom: 36px;}
.cp-subsection{margin-top: 60px !important; text-align: center;}
.cp-page .cp-subtitle{font-size: 30px; font-weight: 700; font-style: normal; margin: 0 0 28px;}
.cp-cards{display: grid; gap: 10px;}
.cp-cards--3{grid-template-columns: repeat(3, 1fr);}
.cp-card{background-color: #fff; padding: 36px 32px; text-align: center;}
.cp-card i{font-size: 30px; color: #dd8924;}
.cp-card h4{font-size: 22px; margin: 16px 0 10px;}
.cp-card p{margin: 0; font-size: 17px; line-height: 27px;}
.cp-stats{display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px;}
.cp-stat{background-color: #dd8924; color: #fff; padding: 30px 20px; text-align: center;}
.cp-stat strong{display: block; font-size: 42px; line-height: 1.1;}
.cp-stat span{display: block; margin-top: 6px; font-size: 16px;}
.cp-more{margin: 28px 0 0;}
.cp-more--center{text-align: center; margin-top: 36px !important;}

/* Kolekce */
.cp-collection{display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px;}
.cp-collection__item{display: flex; flex-direction: column; background-color: #fff;}
.cp-collection__img{overflow: hidden; aspect-ratio: 3 / 4;}
.cp-collection__img img{width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease;}
.cp-collection__item:hover .cp-collection__img img{transform: scale(1.05);}
.cp-collection__text{padding: 26px 24px 30px; border-top: 4px solid #dd8924;}
.cp-page .cp-collection__text h3{font-size: 24px; font-weight: 700; font-style: normal; margin: 0 0 10px; text-transform: uppercase; letter-spacing: 0.04em;}
.cp-collection__text p{margin: 0; font-size: 16px; line-height: 25px;}

/* Loga ocenění */
.cp-logos{display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 30px 40px; margin-top: 40px !important;}
.cp-page .cp-logos img{max-height: 90px; width: auto;}

/* Výzva */
.cp-cta{text-align: center; background-color: #fff; padding: 60px 30px;}
.cp-cta p{max-width: 760px; margin: 0 auto 24px;}
.cp-cta__links{display: flex; justify-content: center; flex-wrap: wrap; gap: 40px;}

/* Responzivita */
@media (max-width: 1000px){
    .cp-collection{grid-template-columns: 1fr 1fr;}
    .cp-split__text{padding: 40px 36px;}
}
@media (max-width: 768px){
    .cp-page{padding: 40px 0 60px;}
    .cp-page section{margin-bottom: 50px;}
    .cp-page h2{font-size: 34px;}
    .cp-page h3{font-size: 19px;}
    .cp-split{grid-template-columns: 1fr;}
    .cp-split--reverse .cp-split__img{order: 0;}
    .cp-split__img img{aspect-ratio: 4 / 3; height: auto;}
    .cp-split__text{padding: 30px 22px; text-align: left;}
    .cp-cta__links{gap: 20px;}
    .cp-cards--3, .cp-stats{grid-template-columns: 1fr;}
    .cp-collection{grid-template-columns: 1fr; gap: 10px;}
    .cp-collection__item{display: grid; grid-template-columns: 38% minmax(0, 1fr);}
    .cp-collection__img{aspect-ratio: auto; position: relative; min-height: 160px;}
    .cp-collection__img img{position: absolute; inset: 0;}
    .cp-collection__text{padding: 18px 16px; border-top: 0; border-left: 4px solid #dd8924;}
    .cp-page .cp-collection__text h3, .cp-page .cp-collection__text p{text-align: left;}
    .cp-page .cp-collection__text h3{font-size: 18px; margin-bottom: 6px;}
    .cp-collection__text p{font-size: 15px; line-height: 22px;}
    .cp-page .cp-subtitle{font-size: 24px;}
    .cp-stat strong{font-size: 34px;}
    .cp-page .cp-logos img{max-height: 60px;}
    .cp-photo-strip{gap: 6px; margin-top: 6px;}
    .cp-packages{grid-template-columns: 1fr; gap: 24px;}
    .cp-package__head{padding: 28px 22px 0; text-align: left;}
    .cp-package__body{padding: 6px 22px 0; text-align: left;}
    .cp-package__foot{padding: 26px 22px 30px;}
    .cp-page .cp-package__title{font-size: 26px;}
    .cp-button{width: 100%; text-align: center;}
    .cp-icon-list li{font-size: 16px;}
}

/* Dvě fotky vedle sebe */
.cp-photo-pair{display: grid; grid-template-columns: 1fr 1fr; gap: 10px;}
.cp-page .cp-photo-pair img{width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover;}
@media (max-width: 768px){
    .cp-photo-pair{grid-template-columns: 1fr; gap: 6px;}
}

/* Video na homepage */
.hp-video{margin-top: 60px; margin-bottom: 60px;}
.hp-video__wrap{max-width: 1200px; margin: 0 auto;}
.hp-video video{display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; background-color: #000;}
@media (max-width: 1250px){
    .hp-video{padding-left: 20px; padding-right: 20px;}
}