
/* Product subtitle */
.product-subtitle {
font-size: 13px;
line-height: 1.6;
color: #666;
margin: 15px 0 25px 0;
text-align: left;
}

/* BLACK FRIDAY promo box positioning */
.bf-promo-box {
position: relative;
}

/* Kontejner s aspect-ratio 1:1 a šířkou jako procento rodiče */
.crop-container {
position: relative;
width: 50%; /* upravte dle potřeby */
aspect-ratio: 1 / 1;
margin: 20px auto;
background: #f0f0f0; /* pro vizuální orientaci */
}
/* Croppie editor – absolutně umístěný v rámci kontejneru */
#croppie-element {
position: absolute;
/* Inline styly definují: margin-left, margin-top, width, height */
}
/* Overlay obrázek – průhledný, pokrývá celý kontejner, neovlivňuje kliknutí */
.overlay {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
pointer-events: none;
z-index: 10; /* overlay je pod sliderem */
}
/* Úprava interního slideru (Croppie generuje element s třídou .cr-slider-wrap)
– umístí se přesně pod boundary, má 80% šířku boundary a je vycentrovaný, a z-index nastavíme nad overlay */
#croppie-element .cr-slider-wrap {
position: absolute;
top: 100%;
left: 10%;
width: 80%;
z-index: 20;
}


/* === Společné styly pro nové sekce === */
.own-photo-new-section {
padding: 40px 0;
background: #fff;
}

.own-photo-new-section h2 {
font-size: 26px;
font-weight: 600;
text-align: center;
margin-bottom: 20px;
color: #000;
}

.own-photo-new-section h3 {
font-size: 20px;
font-weight: 600;
margin-bottom: 15px;
color: #000;
}

.own-photo-new-section h4 {
font-size: 15px;
font-weight: 600;
margin-bottom: 10px;
color: #000;
}

.own-photo-new-section p {
font-size: 15px;
}

/* === Sekce: Black Friday Banner 3+1 === */
.black-friday-banner-section {
background: #fff;
padding: 40px 0;
}

.bf-banner-wrapper {
display: flex;
align-items: stretch;
gap: 0;
border-radius: 12px;
overflow: hidden;
box-shadow: 0 4px 20px rgba(0,0,0,0.1);
}

.bf-banner-left {
background: #dbc635;
padding: 15px 40px;
flex: 1;
display: flex;
flex-direction: column;
justify-content: center;
position: relative;
}

.bf-badge {
background: #000;
color: #fff;
font-size: 16px;
font-weight: 600;
padding: 6px 16px;
display: inline-block;
width: fit-content;
letter-spacing: 0.5px;
position: absolute;
top: 20px;
left: 20px;
z-index: 10;
border-radius: 5px;
}

h2.bf-title {
font-size: 36px;
font-weight: 700;
line-height: 1.2;
margin-bottom: 20px;
color: #000;
text-align: left;
}

.bf-text {
font-size: 15px;
line-height: 1.4;
color: #000;
}

.bf-text strong {
font-weight: 700;
}

.bf-code {
font-size: 16px;
margin-bottom: 15px;
color: #000;
}

.bf-code strong {
font-weight: 700;
font-size: 18px;
}

.bf-note {
font-size: 13px !important;
font-style: italic;
color: white;
margin-bottom: 0;
font-weight: 200;
}

.bf-banner-right {
background: #E8E8E8;
flex: 1;
display: flex;
align-items: center;
justify-content: center;
padding: 30px;
position: relative;
}

.bf-image-wrapper {
position: relative;
width: 100%;
max-width: 500px;
}

.bf-image {
width: 100%;
height: auto;
display: block;
}

.bf-free-badge {
position: absolute;
top: -10px;
right: -10px;
background: #dbc635;
color: #000;
font-size: 18px;
font-weight: 700;
width: 90px;
height: 90px;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}

/* Mobile responsive */
@media (max-width: 991px) {
.bf-banner-wrapper {
flex-direction: column;
}

.bf-banner-left {
padding: 15px 25px;
order: 1;
}

.bf-title {
font-size: 28px;
text-align: center;
}

h2.bf-title {
text-align: center;
}

.bf-text {
font-size: 14px;
text-align: center;
}

.bf-code {
font-size: 15px;
text-align: center;
}

.bf-note {
font-size: 12px;
text-align: center;
}

.bf-banner-right {
order: 2;
padding: 25px;
}

.bf-image-wrapper {
max-width: 600px;
}

.bf-free-badge {
width: 70px;
height: 70px;
font-size: 15px;
top: -5px;
right: -5px;
}
}

@media (max-width: 576px) {
.black-friday-banner-section {
padding: 25px 0;
}

.bf-badge {
top: 10px;
left: 10px;
padding: 3px 9px;
}

h2.bf-title {
font-size: 24px;
}

.bf-banner-left {
padding: 15px 20px;
}

.bf-title {
font-size: 24px;
}

.bf-text {
font-size: 13px !important;
}

.bf-code {
font-size: 13px !important;
}

.bf-code strong {
font-size: 15px !important;
}

.bf-banner-right {
padding: 20px;
}

.bf-image-wrapper {
max-width: 100%;
}

.bf-free-badge {
width: 60px;
height: 60px;
font-size: 13px;
}
}

/* === Sekce: Jak tiskneme obraz === */
.how-we-print-section {
background: #fff;
}

.steps-section {
background: #f9f9f9;
}

.section-header {
text-align: center;
max-width: 900px;
margin: 0 auto 40px;
}

.section-subtitle {
font-size: 15px;
line-height: 1.6;
color: #333;
text-align: center;
}

.steps-title {
text-align: center;
margin: 30px 0 20px;
}

.steps-title h3 {
color: #C4933D;
font-size: 20px;
}

.steps-container {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 30px;
margin-top: 30px;
}

.step-item {
text-align: center;
padding: 20px;
}

.step-icon {
width: 100px;
height: 100px;
margin: 0 auto 20px;
display: flex;
align-items: center;
justify-content: center;
}

.step-icon img {
width: 100%;
height: auto;
}

.step-item p {
font-size: 13px;
line-height: 1.5;
color: #666;
}

/* === Sekce: Kontrola kvality === */
.quality-check-section {
background: #fff;
}

.quality-icon-wrapper {
text-align: center;
margin-bottom: 20px;
}

.quality-icon-large {
width: 80px;
height: 80px;
}

.quality-description {
max-width: 900px;
margin: 0 auto;
text-align: center;
font-size: 15px;
line-height: 1.6;
color: #333;
}

/* === Sekce: Proměňte vzpomínky v umělecké dílo === */
.memories-banner-section {
background: #fff;
}

.quality-banner-wrapper {
display: grid;
grid-template-columns: 50% 50%;
gap: 0;
align-items: stretch;
background: #fff;
padding: 0;
}

.quality-banner-left {
padding: 40px;
background: #f9f9f9;
}

.quality-banner-left h3 {
font-size: 22px;
margin-bottom: 20px;
line-height: 1.3;
}

.quality-banner-left p {
font-size: 15px;
line-height: 1.6;
color: #333;
margin-bottom: 25px;
}

.quality-banner-right {
height: 100%;
}

.quality-banner-right img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
}

.btn-create-photo {
display: inline-block;
background: #C4933D;
color: #fff !important;
padding: 15px 35px;
font-size: 15px;
font-weight: 600;
text-decoration: none;
border-radius: 4px;
transition: background 0.3s ease;
max-width: fit-content;
}

.btn-create-photo:hover {
background: #a67a2e;
color: #fff !important;
text-decoration: none;
}

/* === Sekce: Parametry === */
.parameters-section {
background: #fff;
}

.parameters-list {
max-width: 800px;
margin: 0 auto;
}

.parameter-item {
display: flex;
padding: 15px 20px;
margin-bottom: 10px;
background: #f5f5f5;
border-radius: 4px;
}

.parameter-item:nth-child(even) {
background: #fafafa;
}

.param-label {
font-weight: 700;
color: #C4933D;
min-width: 150px;
flex-shrink: 0;
font-size: 15px;
}

.param-value {
color: #333;
line-height: 1.5;
font-size: 15px;
}

/* === Sekce: Recenze === */
.reviews-section {
background: white;
position: relative;
}

.reviews-header {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 20px;
}

.reviews-header h2 {
margin-bottom: 0;
}

.reviews-navigation {
display: flex;
gap: 10px;
}

.review-arrow {
background: transparent;
border: none;
cursor: pointer;
width: 16px;
height: 28px;
padding: 0;
opacity: 0.6;
transition: opacity 0.3s ease;
}

.review-arrow.active {
opacity: 1;
}

.review-arrow.disabled {
opacity: 0.3;
cursor: not-allowed;
}

a.review-box-show-all {
text-decoration: underline;
color: black;
}

a.review-box-show-all:hover {
text-decoration: none;
}

.review-arrow-right {
margin-left: 15px;
}

.review-arrow:not(.disabled):hover {
opacity: 1;
}

.review-arrow img {
width: 100%;
height: auto;
}

.reviews-slider-container {
overflow-x: auto;
overflow-y: hidden;
width: 100%;
margin-top: 20px;
padding-bottom: 20px;
margin-bottom: 10px;
cursor: grab;
scrollbar-width: thin;
scrollbar-color: #ccc #f0f0f0;
}

.reviews-slider-container::-webkit-scrollbar {
height: 8px;
}

.reviews-slider-container::-webkit-scrollbar-track {
background: #f0f0f0;
border-radius: 4px;
}

.reviews-slider-container::-webkit-scrollbar-thumb {
background: #ccc;
border-radius: 4px;
}

.reviews-slider-container::-webkit-scrollbar-thumb:hover {
background: #999;
}

.reviews-slider-container:active {
cursor: grabbing;
}

.reviews-slider-track {
display: flex;
gap: 20px;
align-items: flex-start;
width: fit-content;
}

/* Jednotlivá recenze */
.review-box {
background: #f6f6f7;
border-radius: 8px;
padding: 43px 20px 20px 20px;
width: 270px;
min-width: 270px;
height: 290px;
max-height: 310px;
flex-shrink: 0;
box-shadow: 0 2px 8px rgba(0,0,0,0.08), 0 4px 4px rgba(0,0,0,0.04);
position: relative;
margin-top: 40px;
display: flex;
flex-direction: column;
}

/* První box s logem */
.review-box-logo {
display: flex;
align-items: center;
justify-content: center;
background: transparent;
margin-top: 0;
margin-left: 0;
margin-right: 30px;
align-self: center;
box-shadow: none;
padding: 0px;
width: 170px;
min-width: 170px;
height: auto;
flex-shrink: 0;
}

.review-heureka-big {
width: 100%;
max-width: 180px;
height: auto;
}

/* Logo Heureka absolute nahoře */
.review-badge-absolute {
position: absolute;
top: -40px;
left: 10%;
width: auto;
height: 80px;
z-index: 5;
}

.review-badge-absolute.luxnl, .review-badge-absolute.luxde, .review-badge-absolute.luxpl {
    top: -25px;
    height: 50px;
}

.review-pros {
list-style: none;
padding: 0;
margin: 5px 0 15px 0;
}

.review-pros li {
display: flex;
align-items: flex-start;
gap: 8px;
margin-bottom: 5px;
font-size: 13px;
color: #4CAF50;
line-height: 1.4;
}

.review-pros li img {
width: 14px;
height: 14px;
flex-shrink: 0;
margin-top: 2px;
}

.review-content {
font-size: 14px;
line-height: 1.6;
color: #333;
margin-bottom: auto;
flex-grow: 1;
}

p.review-content {
font-size: 13px;
}

.review-verified {
text-align: center;
padding-top: 12px;
font-size: 11px;
color: #999;
margin-top: 15px;
position: relative;
font-weight: 400;
}

.review-verified::before {
content: '';
position: absolute;
top: 0;
left: 50%;
transform: translateX(-50%);
width: 40px;
height: 1px;
background: #ddd;
}

/* Zobrazit vše box */
.review-box-show-all {
display: flex;
align-items: center;
justify-content: center;
text-decoration: none;
transition: all 0.3s ease;
}

.review-box-show-all:hover {
background: #ebebec;
transform: translateY(-2px);
box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}

.show-all-content {
display: flex;
flex-direction: column;
align-items: center;
gap: 15px;
color: #333;
}

.show-all-content span {
font-size: 18px;
font-weight: 600;
}

.show-all-content svg {
width: 32px;
height: 32px;
transition: transform 0.3s ease;
}

.review-box-show-all:hover .show-all-content svg {
transform: translateX(5px);
}

/* === Sekce: Z mobilu na zeď === */
.mobile-to-wall-section {
background: #fff;
}

.mobile-banner-wrapper {
display: grid;
grid-template-columns: 50% 50%;
gap: 0;
align-items: stretch;
}

.mobile-banner-left {
height: 100%;
}

.mobile-banner-left img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
}

.mobile-banner-right {
padding: 40px;
display: flex;
flex-direction: column;
justify-content: center;
background: #f9f9f9;
}

.mobile-banner-right h2 {
text-align: left;
margin-bottom: 20px;
}

.mobile-banner-right p {
font-size: 15px;
line-height: 1.6;
color: #333;
margin-bottom: 25px;
}

/* === Sekce: Specifické přání === */
.special-wishes-section {
background: #fff;
text-align: center;
}

.wishes-description {
font-size: 15px;
line-height: 1.6;
color: #333;
margin-bottom: 30px;
}

.btn-contact {
display: inline-block;
background: #C4933D;
color: #fff !important;
padding: 15px 40px;
font-size: 17px;
font-weight: 600;
text-decoration: none;
border-radius: 4px;
transition: background 0.3s ease;
}

.btn-contact:hover {
background: #a67a2e;
color: #fff !important;
text-decoration: none;
}

/* === Responzivní design === */
@media (max-width: 1024px) {
.steps-container {
grid-template-columns: repeat(2, 1fr);
gap: 20px;
}

.review-card {
min-width: 280px;
}
}

@media (max-width: 768px) {
.own-photo-new-section {
padding: 40px 0;
}

.own-photo-new-section h2 {
font-size: 24px;
}

/* Hide review navigation arrows on mobile */
.reviews-navigation {
display: none;
}

.reviews-header {
justify-content: flex-start;
}

.steps-container {
grid-template-columns: 1fr;
gap: 30px;
}

.quality-banner-wrapper,
.mobile-banner-wrapper {
grid-template-columns: 1fr;
gap: 0;
}

.quality-banner-left,
.mobile-banner-right {
padding: 30px 20px;
text-align: center;
}

.quality-banner-right {
order: -1;
}

.quality-banner-right img,
.mobile-banner-left img {
max-height: 300px;
}

.mobile-banner-left {
order: -1;
}

.mobile-banner-right {
order: 1;
}

.mobile-banner-right h2 {
text-align: center;
}

.btn-create-photo {
display: block;
margin: 0 auto;
}

.parameters-section {
text-align: center;
}

.parameters-list {
max-width: 100%;
margin: 0;
}

.parameter-item {
flex-direction: column;
text-align: center;
width: 100%;
max-width: 100%;
}

.param-label {
min-width: auto;
margin-bottom: 5px;
}

.reviews-navigation {
position: static;
justify-content: center;
margin-bottom: 20px;
padding: 10px 0;
}

.review-box {
width: 270px;
min-width: 270px;
}

.review-box-logo {
width: 170px;
min-width: 170px;
}
}

@media (max-width: 480px) {
.own-photo-new-section h2 {
font-size: 20px;
}

.heureka-logo {
max-width: 200px;
}

.reviews-slider-wrapper {
gap: 10px;
}

.review-nav {
width: 35px;
height: 35px;
}

.review-nav img {
width: 15px;
}
}

