/* Upravená úvodní část pro nový web; vzhled ostatních sekcí vychází z dodané šablony. */
div.ccm-page.page-template-home .page-content .hero { height: 530px; padding-bottom: 25px; }
div.ccm-page.page-template-home .page-content .hero .container .inner .hero-content .hero-text .hero-title * { font-size: 54px; line-height: 1.12; }
div.ccm-page.page-template-home .page-content .offer .container .inner .offer-subtitle { margin-bottom: 14px; }
div.ccm-page .hero-slider .cp-slider { position: relative; width: 100%; height: 100%; overflow: hidden; }
div.ccm-page .hero-slider .cp-slide { position: absolute; inset: 0; opacity: 0; transition: opacity .55s ease; display: grid; place-items: center; }
div.ccm-page .hero-slider .cp-slide.is-active { opacity: 1; z-index: 1; }
div.ccm-page .hero-slider .cp-slide img { max-height: 100%; width: 100%; height: 100%; object-fit: contain; }
.cp-mobile-toggle, .cp-mobile-navigation { display: none; }
@media(max-width: 1200px) {
 div.ccm-page header .header-inner { min-height: 135px; display: flex; justify-content: center; }
 div.ccm-page header .header-logo { position: static; width: 160px; height: auto; transform: none; }
 div.ccm-page header .header-logo img { max-width: 160px; }
 div.ccm-page header .header-left, div.ccm-page header .header-right { display: none; }
 div.ccm-page .cp-mobile-toggle { display: flex; position: absolute; top: 48px; right: 12px; flex-direction: column; gap: 6px; padding: 10px; border: 0; background: transparent; z-index: 11; }
 div.ccm-page .cp-mobile-toggle span { display: block; width: 26px; height: 2px; background: #fcf7eb; }
 div.ccm-page .cp-mobile-navigation:not([hidden]) { display: block; position: relative; background: #363636; padding: 0 20px 24px; z-index: 100; }
 div.ccm-page .cp-mobile-navigation ul { list-style: none; margin: 0; padding: 0; }
 div.ccm-page .cp-mobile-navigation li { border-bottom: 1px solid rgba(255,255,255,.16); }
 div.ccm-page .cp-mobile-navigation a { display: block; padding: 12px; color: #fcf7eb; text-decoration: none; }
 div.ccm-page .cp-mobile-menu-item { display: flex; align-items: stretch; justify-content: space-between; }
 div.ccm-page .cp-mobile-menu-item > a { flex: 1; }
 div.ccm-page .cp-submenu-toggle { display: grid; place-items: center; width: 54px; color: #fcf7eb; background: transparent; border: 0; cursor: pointer; }
 div.ccm-page .cp-submenu-toggle svg { display: block; width: 22px; height: 22px; }
 div.ccm-page .cp-submenu-toggle .cp-arrow-open { display: none; }
 div.ccm-page .cp-submenu-toggle[aria-expanded="true"] .cp-arrow-closed { display: none; }
 div.ccm-page .cp-submenu-toggle[aria-expanded="true"] .cp-arrow-open { display: block; }
 div.ccm-page .cp-submenu-toggle:focus-visible, div.ccm-page .cp-mobile-toggle:focus-visible { outline: 2px solid #fcf7eb; outline-offset: 2px; }
 div.ccm-page .cp-mobile-navigation ul ul a { padding-left: 32px; }
 div.ccm-page.page-template-home .page-content .hero { height: auto; min-height: 0; padding: 46px 0 40px; }
 div.ccm-page.page-template-home .page-content .hero .container .inner { flex-direction: column; }
 div.ccm-page.page-template-home .page-content .hero .container .inner .hero-content { width: 100%; padding: 0; }
 div.ccm-page.page-template-home .page-content .hero .container .inner .hero-slider { margin: 10px auto 0; width: 100%; height: min(68vw,390px); }
 div.ccm-page.page-template-home .page-content .hero .container .inner .hero-content .hero-text .hero-title * { font-size: clamp(42px,5vw,54px); text-align: center; line-height: 1.15; }
 div.ccm-page.page-template-home .page-content .hero .hero-link { margin: 24px auto 0; text-align: center; }
}
@media(max-width: 430px) {
 div.ccm-page.page-template-home .page-content .hero .container .inner .hero-content .hero-text .hero-title * { font-size: clamp(36px,10vw,42px); }
 div.ccm-page.page-template-home .page-content .hero .container .inner .hero-slider { height: 68vw; }
 div.ccm-page.page-template-home .page-content .offer, div.ccm-page.page-template-home .page-content .references { padding-top: 45px; padding-bottom: 45px; }
}
@media(prefers-reduced-motion: reduce) { div.ccm-page .hero-slider .cp-slide { transition: none; } }
div.ccm-page .cp-honeypot { position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden; }
div.ccm-page .cp-subpage { min-height: 55vh; padding: 55px 0 100px; background: #fcf7eb; }
div.ccm-page .cp-subpage h1 { font-family: Georgia, serif; color: #363636; font-size: clamp(2rem,4vw,3.5rem); margin: 0 0 36px; }
div.ccm-page .cp-subpage .ccm-area { width: 100%; }
div.ccm-page header .header-top { color: rgba(255,255,255,.71); font-size: 15px; font-weight: 300; }
div.ccm-page header .header-top a { color: rgba(255,255,255,.71); font-weight: 300; text-decoration: none; }
div.ccm-page header .header-top-left { display: flex; flex-direction: row; flex-wrap: nowrap; align-items: center; justify-content: flex-start; gap: 24px; }
div.ccm-page header .header-top.header-top-right { display: flex; flex-wrap: nowrap; justify-content: flex-end; column-gap: 30px; }
div.ccm-page header .header-top .cp-top-social { display: flex; flex: none; align-items: center; column-gap: 20px; white-space: nowrap; }
div.ccm-page header .header-top .cp-top-detail { display: inline-flex; align-items: center; flex: none; gap: 10px; white-space: nowrap; }
div.ccm-page header .header-top .cp-top-detail img { display: block; flex: none; object-fit: contain; }
div.ccm-page header .header-top .cp-social { display: inline-flex; flex: none; width: 42px; height: 42px; }
div.ccm-page header .header-top .cp-social img { display: block; width: 42px; height: 42px; }
div.ccm-page header .navigation-main .menu-link .submenu-icon { display: inline-flex; align-items: center; justify-content: center; width: 18px; height: 24px; margin-left: 6px; color: inherit; }
div.ccm-page header .navigation-main .menu-link .submenu-icon svg { display: block; width: 16px; height: 16px; }
div.ccm-page .contacts-items a { color: inherit; }
div.ccm-page .contacts-items p { margin: 0 0 12px; }
div.ccm-page .cp-order .form-control { max-width: 100%; }
/* Kontakty na úvodní stránce: typografie a rozložení dle schváleného návrhu. */
div.ccm-page .contacts .contacts-items .cp-contact-row { display: grid; grid-template-columns: 20px minmax(0,1fr); align-items: start; gap: 12px; color: rgba(255,255,255,.89); font-size: 15px; line-height: 1.5; font-weight: 300; }
div.ccm-page .contacts .contacts-items .cp-contact-row + .cp-contact-row { margin-top: 20px; }
div.ccm-page .contacts .contacts-items .cp-contact-row img { width: 20px; max-height: 25px; object-fit: contain; margin-top: 2px; }
div.ccm-page .contacts .contacts-items .cp-contact-row a { color: inherit; text-decoration: none; }
div.ccm-page .contacts .contacts-items .cp-contact-row a:hover { text-decoration: underline; }
div.ccm-page .contacts .cp-order .cp-order-row { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
div.ccm-page .contacts .cp-order .mb-3 { min-width: 0; margin: 0 0 18px; }
div.ccm-page .contacts .cp-order label.form-label { display: block; color: rgba(255,255,255,.55); font-size: 13px; font-weight: 300; text-transform: uppercase; margin: 0 0 6px; }
div.ccm-page .contacts .cp-order .required { color: inherit; }
div.ccm-page .contacts .cp-order input.form-control, div.ccm-page .contacts .cp-order textarea.form-control { width: 100%; box-sizing: border-box; background: #fff; border: 1px solid #d5d5d5; box-shadow: none; color: #363636; font-family: Poppins,sans-serif; }
div.ccm-page .contacts .cp-order input.form-control { height: 55px; border-radius: 50px; padding: 0 20px; }
div.ccm-page .contacts .cp-order textarea.form-control { height: 129px; border-radius: 27px; padding: 15px 20px; resize: vertical; }
div.ccm-page .contacts .cp-order input.form-control:focus-visible, div.ccm-page .contacts .cp-order textarea.form-control:focus-visible { outline: 2px solid #b9495c; outline-offset: 2px; }
div.ccm-page .contacts .cp-order .cp-order-notes, div.ccm-page .contacts .cp-order .cp-order-notes p { color: rgba(255,255,255,.55); font-size: 13px; font-weight: 300; margin: 0; line-height: 1.65; }
div.ccm-page .contacts .cp-order .cp-order-notes a { color: inherit; text-decoration: underline; }
div.ccm-page .contacts .cp-order .form-actions { display: flex; justify-content: flex-end; margin-top: 14px; }
div.ccm-page .contacts .cp-order .form-actions .btn { min-width: 170px; height: 62px; padding: 9px 25px; border: 5px solid #363636; border-radius: 40px; outline: 1px solid #f5f0ed; background: #b9495c; color: #fff; font: 500 18px Georgia,serif; cursor: pointer; }
div.ccm-page .contacts .cp-order .form-actions .btn:hover, div.ccm-page .contacts .cp-order .form-actions .btn:focus-visible { background: #a53951; }
@media (max-width: 1000px) and (min-width: 801px) { div.ccm-page .contacts .cp-order .cp-order-row { gap: 10px; } }
@media (max-width: 800px) { div.ccm-page .contacts .contacts-items { width: min(100%,max-content); } }
@media (max-width: 600px) { div.ccm-page .contacts .cp-order .cp-order-row { grid-template-columns: 1fr; gap: 0; } div.ccm-page .contacts .contacts-items { margin-top: 35px; } }
div.ccm-page .cp-order p[role="alert"] { color: #9f223c; }
div.ccm-page .cp-order p[role="status"] { color: #23553c; }
div.ccm-page .cp-subpage a { color: #b9495c; }

/* Ceník a Dorty: samostatné podstránky, obsah z původní oblasti Main zůstává uchovaný. */
div.ccm-page .cp-designed-page { background: #fffaf2; color: #393535; padding: 45px 0 72px; }
div.ccm-page .cp-designed-page > .container { max-width: 1400px; }
div.ccm-page .cp-designed-page h1, div.ccm-page .cp-designed-page h2, div.ccm-page .cp-designed-page h3 { font-family: 'Playfair Display', Georgia, serif; color: #393535; }
div.ccm-page .cp-designed-page p { line-height: 1.65; }
div.ccm-page .cp-designed-page a.cp-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 10px 29px; background: #b44e63; color: #fff; font-weight: 600; border-radius: 30px; text-decoration: none; white-space: nowrap; }
div.ccm-page .cp-designed-page a.cp-btn:hover, div.ccm-page .cp-designed-page a.cp-btn:focus-visible { background: #92394d; color: #fff; }
div.ccm-page .cp-rule { width: 50px; height: 3px; background: #b44e63; margin: 8px 0 20px; }
div.ccm-page .cp-page-intro { display: flex; align-items: flex-start; justify-content: space-between; gap: 30px; margin-bottom: 55px; }
div.ccm-page .cp-page-intro h1 { font-size: 52px; line-height: 1.1; margin: 0 0 15px; }
div.ccm-page .cp-page-intro .cp-eyebrow { font-family: 'Playfair Display', Georgia, serif; font-size: 25px; color: #b44e63; margin: 0 0 8px; }
div.ccm-page .cp-page-intro p:last-child { color: #756e6b; margin: 0; }
div.ccm-page .cp-page-intro .cp-btn { margin-top: 13px; }
div.ccm-page .cp-price-section { display: grid; grid-template-columns: minmax(0, 1.9fr) minmax(0, 1fr); gap: 26px; align-items: start; margin: 0 0 64px; }
div.ccm-page .cp-price-section h2 { font-size: 33px; line-height: 1.2; margin: 0 0 5px; }
div.ccm-page .cp-price-section .cp-price-copy > p { margin: 0 0 20px; color: #756e6b; font-size: 15px; }
div.ccm-page .cp-price-gallery > h3 { font-size: 21px; margin: 2px 0 16px; }
div.ccm-page .cp-price-card { border-radius: 14px; background: #fff; padding: 25px 28px; box-shadow: 2px 4px 0 #eee6dd; }
div.ccm-page .cp-price-card h3 { color: #b44e63; font: 600 13px Poppins, sans-serif; letter-spacing: .03em; text-transform: uppercase; margin: 0 0 12px; }
div.ccm-page .cp-price-card h3.cp-card-second-title { border-top: 2px solid #b44e63; padding-top: 20px; margin-top: 13px; }
div.ccm-page .cp-price-list { margin: 0; }
div.ccm-page .cp-price-list > div { display: flex; justify-content: space-between; align-items: baseline; gap: 18px; border-bottom: 1px solid #e8d9d1; padding: 10px 0; }
div.ccm-page .cp-price-list > div:last-child { border-bottom: 0; }
div.ccm-page .cp-price-list dt { font-weight: 400; }
div.ccm-page .cp-price-list dd { margin: 0; font-weight: 600; white-space: nowrap; }
div.ccm-page .cp-price-card .cp-price-footnote { color: #756e6b; font-size: 13px; margin: 12px 0 0; }
div.ccm-page .cp-price-photos { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px; }
div.ccm-page .cp-price-photos a { display: block; overflow: hidden; border-radius: 10px; aspect-ratio: 4 / 5; }
div.ccm-page .cp-price-photos img { width: 100%; height: 100%; display: block; object-fit: cover; transition: transform .25s ease; }
div.ccm-page .cp-price-photos a:hover img { transform: scale(1.035); }
div.ccm-page .cp-price-gallery-pair { padding-top: 55px; }
div.ccm-page .cp-price-gallery-pair .cp-price-photos a { aspect-ratio: 4 / 5; }
div.ccm-page .cp-price-box { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; padding: 16px 0; border-bottom: 1px solid #e8d9d1; }
div.ccm-page .cp-price-box:first-child { padding-top: 0; }
div.ccm-page .cp-price-box:last-child { border: 0; padding-bottom: 0; }
div.ccm-page .cp-price-box h3 { color: #393535; font: 600 19px Poppins, sans-serif; text-transform: none; letter-spacing: 0; margin: 0 0 3px; }
div.ccm-page .cp-price-box p { color: #756e6b; font-size: 13px; margin: 0; }
div.ccm-page .cp-price-box .cp-amount { color: #b44e63; white-space: nowrap; font-size: 18px; }
div.ccm-page .cp-page-cta { text-align: center; margin: 36px 0; }
div.ccm-page .cp-page-cta h2 { font-size: 31px; margin: 0 0 16px; }
div.ccm-page .cp-legacy-area { border: 2px dashed #b44e63; margin: 40px 0; padding: 25px; }
/* Dorty */
div.ccm-page .cp-cakes-hero { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 75px; padding: 20px 0 48px; border-bottom: 1px solid #e8d9d1; }
div.ccm-page .cp-cakes-hero .cp-breadcrumb { color: #b44e63; font-size: 12px; font-weight: 600; text-transform: uppercase; margin: 0 0 54px; }
div.ccm-page .cp-cakes-hero h1 { font-size: clamp(42px,4.6vw,64px); line-height: 1.12; margin: 0 0 18px; }
div.ccm-page .cp-cakes-hero p { font-size: 17px; max-width: 470px; }
div.ccm-page .cp-cakes-hero p.cp-muted { color: #756e6b; font-size: 15px; }
div.ccm-page .cp-cakes-hero .cp-btn { margin-top: 14px; }
div.ccm-page .cp-cakes-hero-visual { min-height: 380px; }
div.ccm-page .cp-cakes-hero-visual img { display: block; width: 100%; max-height: 480px; object-fit: cover; border-radius: 16px; }
div.ccm-page .cp-photo-pending { display: grid; place-items: center; text-align: center; min-height: 380px; padding: 25px; border-radius: 16px; background: #f5e8e4; color: #756e6b; }
div.ccm-page .cp-cakes-types { padding: 60px 0 70px; }
div.ccm-page .cp-cakes-types h2, div.ccm-page .cp-cakes-gallery h2, div.ccm-page .cp-cakes-cta h2 { font-size: 37px; line-height: 1.2; margin: 0 0 8px; }
div.ccm-page .cp-cakes-types > p, div.ccm-page .cp-cakes-gallery p, div.ccm-page .cp-cakes-cta p { color: #756e6b; margin: 0 0 28px; }
div.ccm-page .cp-cakes-cards { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; }
div.ccm-page .cp-cakes-cards article { min-height: 205px; padding: 25px; border: 1px solid #e8d9d1; border-radius: 14px; background: white; }
div.ccm-page .cp-cakes-cards article > span { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 50%; background: #f5e8e4; color: #b44e63; font-weight: 600; }
div.ccm-page .cp-cakes-cards h3 { font-size: 24px; margin: 17px 0 8px; }
div.ccm-page .cp-cakes-cards p { color: #756e6b; font-size: 14px; margin: 0; }
div.ccm-page .cp-cakes-gallery { background: #f7eee9; padding: 60px 0; }
div.ccm-page .cp-cakes-gallery .container { max-width: 1400px; }
div.ccm-page .cp-cakes-gallery .cp-gallery-pending { text-align: center; border: 1px dashed #c9b8b1; padding: 65px 20px; border-radius: 15px; background: #fffaf2; }
div.ccm-page .cp-cakes-gallery .cp-gallery-content a { display: block; overflow: hidden; }
div.ccm-page .cp-cakes-gallery .cp-gallery-content a img { transition: transform .25s ease; }
div.ccm-page .cp-cakes-gallery .cp-gallery-content a:hover img { transform: scale(1.035); }
div.ccm-page .cp-cakes-cta { display: flex; align-items: center; justify-content: space-between; gap: 30px; padding: 60px 0 15px; }
div.ccm-page .cp-cakes-cta p { margin-bottom: 0; }
@media (max-width: 1200px) {
 div.ccm-page header .header-inner { display: grid; grid-template-columns: 1fr; grid-template-rows: 110px 180px; min-height: 290px; }
 div.ccm-page header .header-inner .header-left { display: block; grid-column: 1; grid-row: 1; min-width: 0; }
 div.ccm-page header .header-inner .header-right, div.ccm-page header .header-navigation { display: none; }
 div.ccm-page header .header-top.header-top-left { height: 110px; padding: 18px 46px 18px 0; flex-direction: column; align-items: flex-start; justify-content: center; gap: 8px; border-bottom: 1px solid rgba(204,177,147,.4); }
 div.ccm-page header .header-top.header-top-left::before { display: none; }
 div.ccm-page header .header-inner .header-logo { position: static; grid-column: 1; grid-row: 2; display: flex; width: 100%; height: 180px; aspect-ratio: auto; justify-content: center; transform: none; }
 div.ccm-page header .header-inner .header-logo img { width: 220px; max-width: min(220px,56vw); height: auto; }
 div.ccm-page .cp-mobile-toggle { top: 29px; right: 13px; }
}
@media (max-width: 800px) {
 div.ccm-page .cp-price-section { grid-template-columns: 1fr; gap: 20px; margin-bottom: 54px; }
 div.ccm-page .cp-price-gallery-pair { padding-top: 0; }
 div.ccm-page .cp-cakes-hero { grid-template-columns: 1fr; gap: 28px; padding-top: 0; }
 div.ccm-page .cp-cakes-hero .cp-breadcrumb { margin-bottom: 30px; }
 div.ccm-page .cp-cakes-hero-visual, div.ccm-page .cp-photo-pending { min-height: 300px; }
 div.ccm-page .cp-cakes-cards { grid-template-columns: 1fr; }
 div.ccm-page .cp-cakes-cards article { min-height: 0; }
 div.ccm-page .cp-cakes-cta { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 600px) {
 div.ccm-page .cp-designed-page { padding-top: 32px; }
 div.ccm-page .cp-page-intro { display: block; margin-bottom: 45px; }
 div.ccm-page .cp-page-intro h1 { font-size: 42px; }
 div.ccm-page .cp-page-intro .cp-eyebrow { font-size: 23px; }
 div.ccm-page .cp-page-intro .cp-btn { margin-top: 12px; }
 div.ccm-page .cp-price-section h2 { font-size: 28px; }
 div.ccm-page .cp-price-card { padding: 18px 20px; }
 div.ccm-page .cp-price-box p { font-size: 12px; }
 div.ccm-page .cp-price-box .cp-amount { font-size: 16px; }
 div.ccm-page .cp-cakes-hero h1 { font-size: clamp(36px,9vw,44px); }
 div.ccm-page .cp-cakes-hero .cp-breadcrumb { margin-bottom: 24px; }
 div.ccm-page .cp-cakes-types { padding: 45px 0; }
 div.ccm-page .cp-cakes-types h2, div.ccm-page .cp-cakes-gallery h2, div.ccm-page .cp-cakes-cta h2 { font-size: 30px; }
 div.ccm-page .cp-cakes-gallery { padding: 45px 0; }
 div.ccm-page .cp-cakes-cta { padding-top: 45px; }
 div.ccm-page header .header-inner { grid-template-rows: 110px 165px; min-height: 275px; }
 div.ccm-page header .header-inner .header-logo { height: 165px; }
 div.ccm-page header .header-inner .header-logo img { width: 210px; max-width: min(210px,56vw); }
 div.ccm-page header .header-top.header-top-left .cp-top-detail { font-size: 14px; gap: 9px; }
 div.ccm-page.page-template-home .page-content .hero { padding-top: 82px; }
 div.ccm-page.page-template-home .page-content .hero .container .inner .hero-slider { margin-top: 55px; }
}
@media (prefers-reduced-motion: reduce) { div.ccm-page .cp-price-photos img, div.ccm-page .cp-cakes-gallery .cp-gallery-content a img { transition: none; } }
/* Úpravy 0.1.5 */
div.ccm-page .cp-subpage > .container { width: 100%; max-width: 1400px; box-sizing: border-box; }
div.ccm-page .cp-subpage .cp-subpage-main, div.ccm-page .cp-subpage .cp-subpage-main > .ccm-area { width: 100%; max-width: none; }
div.ccm-page .cp-subpage .cp-subpage-main .container { width: 100%; max-width: none; padding-left: 0; padding-right: 0; }
div.ccm-page .cp-designed-page .cp-extra-content .container { width: 100%; max-width: none; padding-left: 0; padding-right: 0; }
div.ccm-page .contacts .contacts-items { gap: 12px; margin-top: 37px; }
div.ccm-page .contacts .contacts-items .cp-contact-row + .cp-contact-row { margin-top: 0; }
div.ccm-page .contacts .cp-order form .mb-3 label.form-label { display: block !important; visibility: visible !important; opacity: 1 !important; color: #ded7d4 !important; font-size: 13px !important; font-weight: 400 !important; line-height: 1.5 !important; margin: 0 0 6px !important; text-transform: uppercase; }
div.ccm-page .contacts .cp-order form .mb-3 label.form-label .required { color: #e2b2b8 !important; opacity: 1 !important; }
div.ccm-page .contacts .cp-order form input.form-control { border-radius: 34px !important; }
div.ccm-page .contacts .cp-order form textarea.form-control { border-radius: 28px !important; }
div.ccm-page .contacts .cp-order form .form-actions .btn { height: 54px; min-width: 160px; border: 0; border-radius: 50px; outline: 0; box-shadow: 0 0 0 5px #363636, 0 0 0 6px #f3f1e4; }
div.ccm-page .contacts .cp-order form .form-actions .btn::before, div.ccm-page .contacts .cp-order form .form-actions .btn::after { content: none !important; }
div.ccm-page .cp-cakes-editorial { border-top: 1px solid #e8d9d1; padding: 55px 0 10px; }
div.ccm-page .cp-cakes-editorial h2 { font-size: clamp(29px,3vw,38px); margin: 0 0 18px; }
div.ccm-page .cp-cakes-editorial-intro { max-width: 960px; margin: 0 0 38px; }
div.ccm-page .cp-cakes-editorial-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
div.ccm-page .cp-cakes-editorial-grid article { padding: 30px 34px; background: #fff; border: 1px solid #e8d9d1; border-radius: 15px; }
div.ccm-page .cp-cakes-editorial-grid h3 { font-size: 26px; margin: 0 0 15px; }
div.ccm-page .cp-cakes-editorial-grid p { font-size: 15px; margin: 0 0 14px; }
div.ccm-page .cp-cakes-editorial-grid p:last-child { margin-bottom: 0; }
div.ccm-page .cp-extra-content { min-width: 0; }
@media (max-width: 800px) { div.ccm-page .cp-cakes-editorial-grid { grid-template-columns: 1fr; } }
@media (max-width: 600px) { div.ccm-page .cp-cakes-editorial { padding-top: 40px; } div.ccm-page .cp-cakes-editorial-grid article { padding: 22px; } div.ccm-page .contacts .contacts-items { margin-top: 35px; } div.ccm-page .contacts .cp-order form .form-actions { justify-content: center; margin-top: 25px; } }
/* Dorty 0.1.6 – redakční rozložení podle schváleného návrhu. */
div.ccm-page .cp-cakes-page { padding: 0; background: #fffaf4; }
div.ccm-page .cp-cakes-page > .container { max-width: 1400px; }
div.ccm-page .cp-cakes-page .cp-cakes-hero { display: grid; grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); gap: clamp(40px,6vw,95px); align-items: center; padding: 58px 0 48px; border: 0; }
div.ccm-page .cp-cakes-page .cp-cakes-breadcrumb { margin-bottom: 25px; color: #a93d52; font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: .06em; }
div.ccm-page .cp-cakes-page .cp-cakes-breadcrumb a { color: inherit; text-decoration: none; }
div.ccm-page .cp-cakes-page .cp-cakes-breadcrumb a:hover { text-decoration: underline; }
div.ccm-page .cp-cakes-page .cp-cakes-hero h1 { font-size: clamp(43px,4.3vw,63px); line-height: 1.12; margin: 0 0 20px; }
div.ccm-page .cp-cakes-page .cp-cakes-hero .cp-rule { margin: 0 0 20px; }
div.ccm-page .cp-cakes-page .cp-cakes-hero-text p { max-width: 490px; font-size: 17px; line-height: 1.65; margin: 0 0 18px; }
div.ccm-page .cp-cakes-page .cp-cakes-hero .cp-btn { margin-top: 12px; }
div.ccm-page .cp-cakes-page .cp-btn span { margin-left: 8px; }
div.ccm-page .cp-cakes-page .cp-cakes-hero-visual { min-height: 440px; height: 440px; overflow: hidden; border-radius: 14px; }
div.ccm-page .cp-cakes-page .cp-cakes-hero-visual img, div.ccm-page .cp-cakes-page .cp-cakes-story-photo img { width: 100%; height: 100%; max-height: none; display: block; object-fit: cover; border-radius: inherit; }
div.ccm-page .cp-cakes-page .cp-cakes-hero-visual .ccm-block-image, div.ccm-page .cp-cakes-page .cp-cakes-story-photo .ccm-block-image { height: 100%; }
div.ccm-page .cp-cakes-page .cp-cakes-hero-visual .ccm-block-image a, div.ccm-page .cp-cakes-page .cp-cakes-story-photo .ccm-block-image a { display: block; height: 100%; }
div.ccm-page .cp-cakes-page .cp-cakes-photo-placeholder { display: grid; place-items: center; text-align: center; height: 100%; min-height: 300px; padding: 25px; border-radius: inherit; color: #756e6b; background: #f5e8e4; }
div.ccm-page .cp-cakes-page .cp-cakes-jump { display: flex; justify-content: center; flex-wrap: wrap; gap: 14px 35px; padding: 23px 0; margin: 0 0 25px; border-top: 1px solid #dfc7c5; border-bottom: 1px solid #dfc7c5; }
div.ccm-page .cp-cakes-page .cp-cakes-jump a { color: #9a4053; font: 500 18px 'Playfair Display',Georgia,serif; text-decoration: none; }
div.ccm-page .cp-cakes-page .cp-cakes-jump a + a::before { content: '•'; margin-right: 35px; color: #b44e63; }
div.ccm-page .cp-cakes-page .cp-cakes-jump a:hover { text-decoration: underline; }
div.ccm-page .cp-cakes-page .cp-cakes-lede { max-width: 900px; margin: 0 auto 46px; text-align: center; color: #5c5553; font-size: 16px; }
div.ccm-page .cp-cakes-page .cp-cakes-lede p { margin: 0; }
div.ccm-page .cp-cakes-page .cp-cakes-story { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: clamp(35px,5vw,80px); align-items: center; }
div.ccm-page .cp-cakes-page .cp-cakes-story-wedding { padding: 0 0 78px; }
div.ccm-page .cp-cakes-page .cp-cakes-story-photo { min-height: 445px; height: 445px; overflow: hidden; border-radius: 12px; background: #f5e8e4; }
div.ccm-page .cp-cakes-page .cp-cakes-eyebrow { margin: 0 0 12px; color: #ad475a; font: 600 12px Poppins,sans-serif; letter-spacing: .06em; text-transform: uppercase; }
div.ccm-page .cp-cakes-page .cp-cakes-story-copy h2 { margin: 0 0 17px; font-size: clamp(32px,3vw,43px); line-height: 1.2; }
div.ccm-page .cp-cakes-page .cp-cakes-story-copy h3 { font-size: 25px; margin: 24px 0 10px; }
div.ccm-page .cp-cakes-page .cp-cakes-story-copy p { margin: 0 0 15px; line-height: 1.7; font-size: 15px; }
div.ccm-page .cp-cakes-page .cp-cakes-story-copy .cp-rule { margin: 0 0 23px; }
div.ccm-page .cp-cakes-page .cp-cakes-celebrations { background: #fff; padding: 75px 0; }
div.ccm-page .cp-cakes-page .cp-cakes-story-celebration .cp-cakes-story-photo { height: min(690px,100%); min-height: 500px; }
div.ccm-page .cp-cakes-page .cp-cakes-flavours { background: #f9eeeb; padding: 65px 0 70px; }
div.ccm-page .cp-cakes-page .cp-cakes-flavours h2 { font-size: clamp(31px,3vw,42px); margin: 0 0 15px; }
div.ccm-page .cp-cakes-page .cp-cakes-flavours .cp-rule { margin-bottom: 20px; }
div.ccm-page .cp-cakes-page .cp-cakes-flavours-text { columns: 2; column-gap: 60px; column-rule: 1px solid #e5cbc7; }
div.ccm-page .cp-cakes-page .cp-cakes-flavours-text p { break-inside: avoid; font-size: 15px; line-height: 1.7; margin: 0 0 15px; }
div.ccm-page .cp-cakes-page .cp-cakes-gallery { background: #fffaf4; padding: 70px 0 80px; }
div.ccm-page .cp-cakes-page .cp-cakes-gallery-heading { margin-bottom: 26px; }
div.ccm-page .cp-cakes-page .cp-cakes-gallery-heading h2 { font-size: clamp(34px,3vw,43px); line-height: 1.2; margin: 0 0 8px; }
div.ccm-page .cp-cakes-page .cp-cakes-gallery-heading p:last-child { color: #756e6b; margin: 0; }
div.ccm-page .cp-cakes-page .cp-cakes-gallery .cp-gallery-content a { border-radius: 8px; }
div.ccm-page .cp-cakes-page .cp-cakes-cta { display: block; background: #363636; color: #fff; padding: 44px 0; }
div.ccm-page .cp-cakes-page .cp-cakes-cta-inner { display: flex; justify-content: space-between; align-items: center; gap: 28px; }
div.ccm-page .cp-cakes-page .cp-cakes-cta h2 { color: #fffaf4; font-size: clamp(28px,3vw,39px); margin: 0 0 9px; }
div.ccm-page .cp-cakes-page .cp-cakes-cta p { color: rgba(255,255,255,.82); margin: 0; }
div.ccm-page .cp-cakes-page .cp-cakes-cta .cp-btn { flex: none; }
div.ccm-page .cp-cakes-page .cp-extra-content { padding: 38px 0; }
@media (max-width: 800px) {
 div.ccm-page .cp-cakes-page .cp-cakes-hero, div.ccm-page .cp-cakes-page .cp-cakes-story { grid-template-columns: 1fr; gap: 28px; }
 div.ccm-page .cp-cakes-page .cp-cakes-hero { padding: 38px 0; }
 div.ccm-page .cp-cakes-page .cp-cakes-hero-visual { height: 380px; min-height: 0; }
 div.ccm-page .cp-cakes-page .cp-cakes-story-wedding { padding-bottom: 48px; }
 div.ccm-page .cp-cakes-page .cp-cakes-story-wedding .cp-cakes-story-photo { order: 2; }
 div.ccm-page .cp-cakes-page .cp-cakes-celebrations { padding: 50px 0; }
 div.ccm-page .cp-cakes-page .cp-cakes-story-celebration .cp-cakes-story-photo { min-height: 380px; height: 380px; }
 div.ccm-page .cp-cakes-page .cp-cakes-flavours-text { columns: 1; }
}
@media (max-width: 600px) {
 div.ccm-page .cp-cakes-page .cp-cakes-hero h1 { font-size: clamp(38px,9vw,52px); }
 div.ccm-page .cp-cakes-page .cp-cakes-hero-visual { height: 310px; }
 div.ccm-page .cp-cakes-page .cp-cakes-jump { justify-content: flex-start; gap: 10px 18px; }
 div.ccm-page .cp-cakes-page .cp-cakes-jump a { font-size: 15px; }
 div.ccm-page .cp-cakes-page .cp-cakes-jump a + a::before { margin-right: 18px; }
 div.ccm-page .cp-cakes-page .cp-cakes-lede { margin-bottom: 30px; text-align: left; }
 div.ccm-page .cp-cakes-page .cp-cakes-story-copy h2 { font-size: 33px; }
 div.ccm-page .cp-cakes-page .cp-cakes-story-photo, div.ccm-page .cp-cakes-page .cp-cakes-story-celebration .cp-cakes-story-photo { min-height: 290px; height: 310px; }
 div.ccm-page .cp-cakes-page .cp-cakes-flavours, div.ccm-page .cp-cakes-page .cp-cakes-gallery { padding: 46px 0; }
 div.ccm-page .cp-cakes-page .cp-cakes-cta-inner { flex-direction: column; align-items: flex-start; }
}

/* 0.1.7: nadpis běžných podstránek a piktogramy v textu Zákusky. */
div.ccm-page .cp-subpage > .container > h1 { margin-bottom: 0; }
div.ccm-page .cp-subpage > .container > .cp-rule { width: 50px; height: 3px; margin: 14px 0 35px; background: #b44e63; }
/* Schválená mezera mezi „Naše nabídka“ a ikonami: ručně upravených 40 px. */
body .ccm-page.page-template-home .page-content .offer .container .inner .offer-title { margin-bottom: 40px !important; }

/* Stav objednávkového formuláře na tmavém pozadí. */
body .ccm-page .cp-order p[role="status"],
body .ccm-page .cp-order p[role="alert"] {
    color: #fff !important;
    background: #424242;
    border-left: 4px solid #cb8f90;
    border-radius: 5px;
    padding: 15px 18px;
    line-height: 1.55;
}
body .ccm-page .cp-order p[role="alert"] { border-left-color: #f1ba65; }
body .ccm-page .cp-order .cp-order-captcha { color: #fff; margin: 18px 0; }
body .ccm-page .cp-order .cp-order-captcha-label { margin-bottom: 8px; }
div.ccm-page .zakusky-odrazky { list-style: none; padding-left: 0; margin: 12px 0 20px; }
div.ccm-page .zakusky-odrazky li { position: relative; list-style: none; padding-left: 29px; margin-bottom: 8px; line-height: 1.5; }
div.ccm-page .zakusky-odrazky li::before {
 content: "";
 position: absolute;
 left: 0;
 top: .25em;
 width: 19px;
 height: 19px;
 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='%23b44e63' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 11h14l-1.5 9h-11L5 11Z'/%3E%3Cpath d='M5 11a3 3 0 0 1 2-5 4 4 0 0 1 7-1 3.5 3.5 0 0 1 5 6'/%3E%3Cpath d='M9 14v3m3-3v3m3-3v3'/%3E%3Ccircle cx='12' cy='3' r='1' fill='%23b44e63' stroke='none'/%3E%3C/svg%3E");
}
