/* Base / Cake font  */
@font-face {
  font-family: 'cakefont';
  src: url('../font/cakedingbats-webfont.eot');
  src: url('../font/cakedingbats-webfont.eot?#iefix') format('embedded-opentype'),
       url('../font/cakedingbats-webfont.woff2') format('woff2'),
       url('../font/cakedingbats-webfont.woff') format('woff'),
       url('../font/cakedingbats-webfont.ttf') format('truetype'),
       url('../font/cakedingbats-webfont.svg#cake_dingbatsregular') format('svg');
  font-weight: normal;
  font-style: normal;
}

/*html { font-size: clamp(15px, 1.2vw, 18px); }
*, *::before, *::after { box-sizing: border-box; }
img, video { max-width: 100%; height: auto; display: block; }

/* Prevent horizontal page drag on mobile */
html, body { max-width: 100%; overflow-x: hidden; }
@supports (overflow: clip) {
  html, body { overflow-x: clip; }
}


body { padding: 0; }

/* Old page bits kept (no header styles here) */
h1 { font-weight: bold; }
ul { list-style-type: none; margin: 0 0 30px 0; padding-left: 25px; }
hr { border-bottom: 1px solid #e7e7e7; border-top: 0; margin-bottom: 35px; }
.text-center { text-align: center; }
.links a { margin-right: 10px; }
.release-name { color: #D33C43; font-weight: 400; font-style: italic; }
.bullet:before {
  font-family: 'cakefont', sans-serif; font-size: 18px; display: inline-block;
  margin-left: -1.3em; width: 1.2em; -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; vertical-align: -1px;
}
.success:before { color: #88c671; content: "\0056"; }
.problem:before { color: #d33d44; content: "\0057"; }
.cake-error { padding: 10px; margin: 10px 0; }
#url-rewriting-warning { display: none; }

/*  Design tokens & helpers  */
:root{
  --background:#ffffff;
  --foreground:#305245;
  --card:#f4eee7;
  --card-foreground:#305245;
  --primary:#a6c3a1;
  --primary-foreground:#305245;
  --secondary:#f4eee7;
  --secondary-foreground:#305245;
  --muted:#f4eee7;
  --muted-foreground:#305245;
  --border:#a6c3a1;
}

.text-muted-foreground{ color:var(--muted-foreground); }
.bg-card{ background:var(--card); color:var(--card-foreground); }
.bg-muted{ background:var(--muted); color:var(--muted-foreground); }
.section-title{ font-size:2rem; margin-bottom:20px; color:var(--foreground); }

.container{ width:min(1200px,92%); margin-inline:auto; }

/*  Buttons  */
.btn{
  display:inline-block; padding:10px 20px; border-radius:6px;
  font-size:1rem; font-weight:500; cursor:pointer; text-decoration:none;
  transition:background .3s ease, color .3s ease, transform .15s ease;
}
.btn-primary{ background:var(--primary); color:var(--primary-foreground); }
.btn-primary:hover{ background:#8fb28d; }
.btn-secondary{ background:var(--secondary); color:var(--secondary-foreground); }
.btn-secondary:hover{ background:#e8e1d7; }
.btn-ghost{ background:transparent; border:1px solid var(--primary); color:var(--primary); }
.btn-ghost:hover{ background:var(--primary); color:var(--primary-foreground); }
@media (max-width:480px){ .btn{ padding:10px 14px; font-size:0.95rem; } }

/*  Hero (page content only)  */
.hero{
  display:grid;
  grid-template-columns:minmax(320px,1.2fr) 1fr;
  gap:48px; align-items:center; padding:48px 0;
}
.hero_title{
  font-family:serif; font-weight:700;
  font-size:clamp(2.2rem,5vw,3.5rem);
  line-height:1.1; margin:0 0 12px; color:var(--foreground,#305245);
}
.hero_tagline{
  font-size:clamp(1rem,1.3vw,1.2rem); line-height:1.7;
  max-width:60ch; margin:0 0 24px; color:var(--muted-foreground,#4a5a52);
}
.hero_actions .btn{ margin-right:12px; }
.hero_image{ display:flex; justify-content:center; }
.hero_img{
  width:100%; max-width:620px; aspect-ratio:4/3; object-fit:cover;
  border-radius:16px; display:block;
}
@media (max-width:900px){
  .hero{ grid-template-columns:1fr; gap:28px; padding:28px 0; }
  .hero_image{ order:2; }
  .hero_tagline{ max-width:100%; }
  .hero_actions .btn{ width:100%; margin:8px 0 0; }
  .hero_actions .btn + .btn{ margin-left:0; }
}
@media (max-width:480px){
  .hero_title{ font-size:clamp(1.9rem,8vw,2.4rem); }
  .hero_tagline{ font-size:0.95rem; line-height:1.6; }
  .hero_img{ aspect-ratio:16/9; border-radius:12px; }
}

/*  Full-bleed helper: let a section break out of .container  */
.full-bleed{
  width:100vw; max-width:100vw;
  position:relative; left:50%; right:50%;
  margin-left:-50vw; margin-right:-50vw;
}

/* Keep a nice outer radius on wide slider */
.full-bleed .rounded{ border-radius:16px; }

/* Home slider spacing */
.home-slider{ margin-top:24px; }

/* Reusable wide container, matching intro width */
.wide-container{ width:min(1480px, 96vw); margin-inline:auto; padding-inline:16px; }
@media (max-width: 991px){
  .wide-container{ width:min(1200px, 94vw); }
}

/* Indicate zoom interaction on zoomable images */
.zoomable{ cursor: zoom-in; }

/* Facebook slider nav visibility */
#facebookPhotos .swiper-btn{
  width: 44px; height: 44px;
  top: 50%; transform: translateY(-50%);
  border-radius: 9999px;
  background: rgba(17,24,39,.85); /* near-black */
  color: #fff;
  display:flex; align-items:center; justify-content:center;
  box-shadow: 0 6px 18px rgba(0,0,0,.25);
  opacity: 1; /* override theme hover fade */
}
#facebookPhotos .swiper-btn:hover{ background:#111827; opacity:1; }
#facebookPhotos .swiper-btn i{ font-size:24px; line-height:1; }
#fbPhotosPrev{ left: 6px; }
#fbPhotosNext{ right: 6px; }
@media (max-width: 576px){
  #facebookPhotos .swiper-btn{ width:38px; height:38px; }
  #facebookPhotos .swiper-btn i{ font-size:22px; }
}

/* Product slider nav visibility (match Facebook style) */
#prodSliderPrev, #prodSliderNext{
  width: 44px; height: 44px;
  top: 50%; transform: translateY(-50%);
  border-radius: 9999px;
  background: rgba(17,24,39,.85);
  color: #fff;
  display:flex; align-items:center; justify-content:center;
  box-shadow: 0 6px 18px rgba(0,0,0,.25);
  opacity: 1;
}
#prodSliderPrev:hover, #prodSliderNext:hover{ background:#111827; opacity:1; }
#prodSliderPrev i, #prodSliderNext i{ font-size:24px; line-height:1; }
#prodSliderPrev{ left: 6px; }
#prodSliderNext{ right: 6px; }
@media (max-width: 576px){
  #prodSliderPrev, #prodSliderNext{ width:38px; height:38px; }
  #prodSliderPrev i, #prodSliderNext i{ font-size:22px; }
}

/* Visually hidden but accessible text */
.sr-only{
  position:absolute; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;
}

/* Product cards (only for static grid, not sliders) */
.cards{ display:flex; flex-wrap:wrap; gap:20px; justify-content:center; }
.cards .card{
  background:var(--card); border-radius:12px; padding:15px; text-align:center;
  flex:1 1 280px; max-width:320px; display:flex; flex-direction:column;
  box-shadow:0 2px 6px rgba(0,0,0,.05);
}
.cards .card img{
  width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:8px; margin-bottom:10px;
  cursor:pointer;
}
.cards .card h3{ margin:10px 0; font-size:1.8rem; color:var(--card-foreground); }
@media (max-width:900px){ .cards{ gap:16px; } .cards .card{ flex:1 1 46%; max-width:48%; } }
@media (max-width:640px){ .cards .card{ flex:1 1 100%; max-width:100%; } .cards .card h3{ font-size:1.4rem; } }

/* Product slider (angled frames + fixed height) */
.product-slide-img{ height: 340px; border-radius: 12px; overflow: hidden; }
@media (min-width: 1200px){
  /* when clip-path kicks in via theme, drop the local radius so slant shows */
  .product-slide-img{ border-radius: 0; }
}
.obj-cover{ object-fit: cover; }

/* Make sure slider arrows are visible */
.swiper-btn{ color:#111; z-index:40; }

/* Mobile polish for product slider */
@media (max-width: 576px){
  .product-slide-img{ height: 260px; }
  .product-slider{ overflow: hidden; }
  .product-slide-title{ font-size: 1.1rem; line-height: 1.3; }
}

/* Teasers section spacing (heading + lead) */
.teasers{ padding-top: 20px; }
.teasers .section-title{ margin-top: 12px; margin-bottom: 8px; }
.teasers .teasers__lead{ max-width: 720px; margin: 0 auto 24px; color: var(--muted-foreground); }
.teasers__cta{ display: flex; justify-content: center; width: 100%; margin-bottom: 28px; }
.teasers__cta .btn{ padding: 14px 32px; font-size: 1.05rem; }
@media (min-width: 768px){
  .teasers{ padding-top: 28px; }
  .teasers .section-title{ margin-top: 16px; margin-bottom: 12px; }
  .teasers .teasers__lead{ margin-bottom: 28px; }
  .teasers__cta{ margin-bottom: 32px; }
}

/* Values list  */
.values{ padding:20px 0; margin:24px 0; }
.values__list{
  display:flex; gap:30px; justify-content:center;
  margin:0; padding:0; list-style:none;
}
.values__list li{ font-weight:bold; color:var(--foreground); }
@media (max-width:800px){
  .values__list{ flex-direction:column; gap:12px; align-items:center; }
  .values__list li{ font-weight:600; }
}
@media (min-width:768px){ .values{ padding:28px 0; margin:32px 0; } }

/*  Split content (luxury)  */
.luxury{
  display:flex; flex-wrap:wrap; gap:40px; margin:60px auto; max-width:1200px;
  padding:0 20px; align-items:center;
}
.luxury__text{ flex:1 1 50%; }
.luxury__image{ flex:1 1 50%; }
.luxury__image img{ border-radius:12px; width:100%; }
@media (max-width:1024px){ .luxury{ gap:28px; padding:0 16px; } }
@media (max-width:800px){ .luxury{ flex-direction:column; } .luxury__text,.luxury__image{ flex:1 1 100%; } }

/*  Contact strip & Footer  */
.contact-strip{
  /* Mint card variant */
  --card-bg: #E8F1EB; 
  /* Fallback solid color first */
  background: var(--card-bg);
  /* Subtle vertical gradient for depth (if supported) */
  background: linear-gradient(180deg, color-mix(in lab, var(--card-bg) 94%, #fff 6%), var(--card-bg));
  /* Border that matches but slightly darker for definition */
  border: 1px solid color-mix(in lab, var(--card-bg), #000 12%);
  box-shadow: 0 18px 40px rgba(17,24,39,.08);
  border-radius: 14px;
  padding: 28px 24px;
  margin: 36px auto 20px;
  text-align: center;
  width: min(980px, 96vw);
  box-sizing: border-box;
}
.contact-strip .section-title{ 
  margin: 0 0 8px !important; /* override inline */
  font-size: clamp(1.5rem, 3.5vw, 2rem);
  letter-spacing: .01em;
}
.contact-strip p{ 
  margin: 0 0 16px !important; /* override inline */
  color: var(--muted-foreground);
}
.contact-strip a{ font-weight:600; color:var(--foreground); }
.contact-strip .btn-ghost{
  padding: 10px 18px;
  border-radius: 9999px;
  background: #fff;
  border-color: color-mix(in lab, var(--border), #000 10%);
  color: var(--foreground);
}
.contact-strip .btn-ghost:hover{
  background: var(--primary);
  border-color: var(--primary);
  color: var(--primary-foreground);
}
.contact-strip .contact-actions{ display:flex; gap:12px; justify-content:center; flex-wrap:wrap; }
.mini-footer{ text-align:center; font-size:.9rem; color:#777; margin-top:50px; }
/* Prevent edge bleed on tablets/phones */
@media (max-width: 992px){
  .contact-strip{
    width: auto;
    max-width: none;
    margin-inline: clamp(16px, 4vw, 28px);
  }
}

@media (max-width:640px){
  .contact-strip{
    padding:18px 14px;
    text-align:center;
    border-radius:12px;
    /* Ensure symmetric gutters; avoid vw-based widths */
    width:auto; max-width:none;
    margin:24px clamp(12px, 4vw, 20px) 16px;
    /* Respect device safe areas */
    padding-left: max(14px, env(safe-area-inset-left));
    padding-right: max(14px, env(safe-area-inset-right));
    box-shadow: 0 10px 24px rgba(17,24,39,.08);
  }
  .contact-strip .section-title{ font-size: clamp(1.25rem, 5.5vw, 1.6rem); margin-bottom: 6px !important; }
  .contact-strip p{ font-size: .95rem; margin-bottom: 12px !important; }
  .contact-strip .contact-actions{ flex-direction: column; gap: 10px; }
  .contact-strip .btn-ghost{ width:100%; max-width:260px; margin-inline:auto; padding:10px 16px; }
  .mini-footer{ font-size:.85rem; margin-top:32px; }
}

/*  Accessibility niceties  */
@media (prefers-reduced-motion: reduce){
  *{ animation-duration:.01ms !important; animation-iteration-count:1 !important;
     transition-duration:.01ms !important; scroll-behavior:auto !important; }
}

/* Keep borders legible on small screens */
@media (max-width:640px){ :root{ --border:#8fb28d; } }

/* Homepage Intro (OldSkool-style) */
.home-intro{ margin-bottom: 1.75rem !important; }
.home-intro .title-small{ letter-spacing:.08em; text-transform:uppercase; font-weight:700; }

/* Make intro section wider like template */
.home-intro .intro-container{ width:min(1480px, 96vw); margin-inline:auto; padding-inline:16px; }
/* Make the intro title scale similarly to the template */
.home-intro .intro-title{ font-size: clamp(2.8rem, 6vw, 4.75rem); }

/* Keep pseudo button underline from overlapping label */
.home-intro .btn-psuedo{ line-height: 1.25; }
.home-intro .btn-psuedo:before,
.home-intro .btn-psuedo:after{
  top: auto !important;
  bottom: .05em; /* just inside content box, below baseline */
}


.teasers .btn-psuedo{ line-height: 1.25; }
.teasers .btn-psuedo:before,
.teasers .btn-psuedo:after{
  top: auto !important;
  bottom: .05em; /* align as underline, not midline */
}

/* Touch-friendly: mirror hover animation on tap */
.teasers .btn-psuedo:active,
.teasers .btn-psuedo:focus-visible{
  padding-left: calc(var(--theme-btn-psuedo-width) + 1rem);
  padding-right: 0;
}
.teasers .btn-psuedo:active:before,
.teasers .btn-psuedo:focus-visible:before{ left: 0; transition: all .2s ease-in .1s; }
.teasers .btn-psuedo:active:after,
.teasers .btn-psuedo:focus-visible:after{ right: calc(var(--theme-btn-psuedo-width)*-1); transition: all .2s ease-in; }


@media (hover: none){
  .btn-psuedo:active{ padding-left: calc(var(--theme-btn-psuedo-width) + 1rem); padding-right: 0; }
  .btn-psuedo:active:before{ left: 0; }
  .btn-psuedo:active:after{ right: calc(var(--theme-btn-psuedo-width)*-1); }
}

/* 3‑image collage layout */
.home-intro-collage{ position:relative; height:520px; }
.home-intro-collage .intro-img{ position:absolute; background:#fff; padding:10px; border-radius:12px; box-shadow:0 10px 30px rgba(17,24,39,.08); }
.home-intro-collage .intro-img img{ border-radius:8px; display:block; }
.home-intro-collage .intro-img-1{ top:0; right:8%; width:58%; aspect-ratio:4/3; }
.home-intro-collage .intro-img-2{ top:22%; left:0; width:76%; aspect-ratio:4/3; }
.home-intro-collage .intro-img-3{ bottom:0; right:0; width:66%; aspect-ratio:4/3; }

@media (max-width: 1200px){
  .home-intro-collage{ height:460px; }
}
@media (max-width: 991px){
  .home-intro{ margin-bottom: 1.25rem !important; }
  .home-intro .intro-container{ width:min(1200px, 94vw); }
  /* Switch collage to stacked layout on tablets/phones to avoid overlap */
  .home-intro-collage{ height:auto; display:grid; grid-template-columns:1fr; gap:14px; }
  .home-intro-collage .intro-img{ position:static; width:100%; aspect-ratio:16/10; }
}
@media (max-width: 576px){
  .home-intro-collage{ gap:12px; }
}

/* Watermark text behind section */
.home-intro{ position: relative; }
.home-intro-watermark{
  position:absolute;
  left:clamp(12px, 5vw, 72px);
  bottom:6%;
  top:auto;
  font-weight:900;
  line-height:0.9;
  letter-spacing:-.02em;
  color:#111827;
  opacity:.07; /* subtle like template */
  font-size:clamp(64px, 12vw, 180px);
  white-space:nowrap;
  max-width:60vw; /* keep it horizontal and contained */
  pointer-events:none; user-select:none;
  z-index:0;
}
@media (max-width: 768px){
  .home-intro-watermark{ display:none; }
}
