/**
 * Theme Name: Blocksy Child
 * Description: Blocksy Child theme
 * Author: Creative Themes
 * Template: blocksy
 * Text Domain: blocksy
 */

/* ===== Indebudget 2026 review template restyle (added via MCP) =====
   Palette: forest #0E3A3A, teal #2DD4BF, teal-text #1C8A7A,
   cloud #F7F6F2, card #FFFFFF, border #E2E0D7, ink #1B2A2E, amber #BA7517.
   Targets Blocksy Companion product-review markup. Fully reversible:
   delete everything below this line to revert. */

:root{
  --ib-forest:#2C3A47; --ib-forest-2:#3E5266; --ib-teal:#D85A30;
  --ib-teal-text:#C04A22; --ib-cloud:#F6F4F2; --ib-card:#FFFFFF;
  --ib-border:#E4E0DB; --ib-ink:#222A31; --ib-amber:#BA7517;
  --ib-green:#1E7D45; --ib-red:#A32D2D;
}

/* Hero wrapper */
.ct-product-hero{
  background:var(--ib-cloud);
  border:1px solid var(--ib-border);
  border-radius:16px;
  padding:24px;
  margin-bottom:32px;
}
.ct-product-hero .ct-container img,
.ct-product-hero .flexy-container{ border-radius:12px; overflow:hidden; }

/* Section headings inside the review box */
.ct-product-hero h5{
  color:var(--ib-forest);
  font-weight:600;
  font-size:1rem;
  letter-spacing:.01em;
  margin:0 0 12px;
  padding-bottom:8px;
  border-bottom:2px solid var(--ib-teal);
  display:inline-block;
}

/* Sub-score rows */
.ct-product-scores ul{ list-style:none; margin:0; padding:0; display:grid; gap:12px; }
.ct-product-scores li{
  display:flex; align-items:center; justify-content:space-between;
  gap:16px; padding:10px 14px;
  background:var(--ib-card); border:1px solid var(--ib-border);
  border-radius:10px;
}
.ct-product-scores li > span:first-child{
  color:var(--ib-ink); font-weight:500; font-size:.92rem;
}
.ct-product-scores .star-rating{ --star-color:var(--ib-amber); }

/* Overall score badge */
.ct-overall-score{
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:6px; margin:24px 0;
  background:var(--ib-forest); color:#fff;
  border-radius:16px; padding:24px;
}
.ct-overall-score .ct-average-score{
  font-size:2.6rem; font-weight:700; line-height:1; color:var(--ib-teal);
}
.ct-overall-score .ct-score-label{
  text-transform:uppercase; letter-spacing:.08em; font-size:.72rem;
  color:var(--ib-cloud); opacity:.85;
}
.ct-overall-score .star-rating{ --star-color:var(--ib-teal); }

/* Action buttons */
.ct-product-actions-group{ display:flex; gap:12px; flex-wrap:wrap; margin:24px 0; }
.ct-product-actions-group .ct-button{
  display:inline-flex; align-items:center; justify-content:center;
  padding:13px 26px; border-radius:12px; font-weight:600; font-size:.95rem;
  text-decoration:none; transition:transform .12s,filter .12s; border:none;
}
.ct-product-actions-group .ct-button:first-child{
  background:rgba(216,90,48,.10); color:var(--ib-teal-text);
  border:1px solid var(--ib-teal);
}
.ct-product-actions-group .ct-button:last-child{
  background:var(--ib-teal); color:#fff;
}
.ct-product-actions-group .ct-button:hover{ filter:brightness(1.05); transform:translateY(-1px); }

/* Description */
.ct-product-description{
  background:var(--ib-card); border:1px solid var(--ib-border);
  border-radius:14px; padding:20px 24px; margin:20px 0; color:var(--ib-ink);
}

/* Specs / Pros / Cons grid */
.ct-product-info{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:16px; margin-top:24px;
}
.ct-specs,.ct-product-review-pros,.ct-product-review-cons{
  background:var(--ib-card); border:1px solid var(--ib-border);
  border-radius:14px; padding:18px 20px;
}
.ct-product-info ul{ list-style:none; margin:0; padding:0; display:grid; gap:9px; }
.ct-product-info li{ display:flex; align-items:flex-start; gap:9px; font-size:.9rem; color:var(--ib-ink); line-height:1.5; }
.ct-product-info .ct-icon-container{ flex-shrink:0; margin-top:2px; }
.ct-product-review-pros .ct-icon-container svg{ fill:var(--ib-green); }
.ct-product-review-cons .ct-icon-container svg{ fill:var(--ib-red); }
.ct-specs .ct-icon-container svg{ fill:var(--ib-teal-text); }
.ct-product-review-pros h5{ border-bottom-color:var(--ib-green); }
.ct-product-review-cons h5{ border-bottom-color:var(--ib-red); }

@media(max-width:600px){
  .ct-product-hero{ padding:16px; }
  .ct-overall-score .ct-average-score{ font-size:2.1rem; }
}
/* ===== end Indebudget review restyle ===== */

/* ===== Indebudget footer restyle (added via MCP) ===== */
footer.ct-footer{ background:#0E3A3A !important; }
footer.ct-footer > div{ background:#0E3A3A !important; padding-top:8px; }
/* Kill the floating white widget boxes */
footer.ct-footer .ct-widget{
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  border-radius:0 !important;
  padding:0 !important;
  margin:0 0 10px !important;
}
/* Widget titles -> teal */
footer.ct-footer .widget-title{
  color:#2DD4BF !important;
  font-size:1rem !important;
  font-weight:600 !important;
  letter-spacing:.02em;
  margin:0 0 16px !important;
  border:none !important;
  padding:0 !important;
}
/* Body text + links */
footer.ct-footer,
footer.ct-footer p,
footer.ct-footer li,
footer.ct-footer span{
  color:#C5E3DF !important;
  font-size:.92rem;
  line-height:1.8;
}
footer.ct-footer a{ color:#C5E3DF !important; text-decoration:none; transition:color .15s; }
footer.ct-footer a:hover{ color:#2DD4BF !important; }
footer.ct-footer ul{ list-style:none; margin:0; padding:0; }
footer.ct-footer li{ margin:0 0 9px; }
/* Social icons */
footer.ct-footer .ct-socials-container a{
  width:38px; height:38px; border-radius:10px;
  background:rgba(45,212,191,.12) !important;
  display:inline-flex; align-items:center; justify-content:center;
}
footer.ct-footer .ct-socials-container a:hover{ background:rgba(45,212,191,.25) !important; }
/* Bottom copyright bar */
footer.ct-footer .ct-footer-bottom{ background:#0A2E2E !important; }
footer.ct-footer .ct-footer-bottom *{ color:#8FB5B0 !important; font-size:.85rem; }
@media(max-width:768px){
  footer.ct-footer{ text-align:center; }
}
/* ===== end Indebudget footer restyle ===== */

/* ===== Indebudget header restyle (added via MCP) ===== */
/* Nav links: light mint on the dark hero, readable */
header.ct-header .ct-menu-link,
header.ct-header .menu a,
header.ct-header [class*=menu] a{
  color:#D6EBE7 !important;
  font-size:14.5px !important;
  font-weight:500 !important;
  letter-spacing:.02em;
  transition:color .15s;
}
/* Hover + current page -> teal */
header.ct-header .ct-menu-link:hover,
header.ct-header .current-menu-item > .ct-menu-link,
header.ct-header [class*=menu] a:hover{
  color:#2DD4BF !important;
}
/* Subtle teal underline grow on hover */
header.ct-header .ct-menu-link{ position:relative; }
header.ct-header .ct-menu-link::after{
  content:''; position:absolute; left:0; bottom:-4px;
  width:0; height:2px; background:#2DD4BF; transition:width .2s;
}
header.ct-header .ct-menu-link:hover::after,
header.ct-header .current-menu-item > .ct-menu-link::after{ width:100%; }
/* Header search / account icons -> light */
header.ct-header .ct-icon,
header.ct-header svg{ color:#D6EBE7 !important; fill:#D6EBE7 !important; }
header.ct-header .ct-icon:hover,
header.ct-header a:hover svg{ color:#2DD4BF !important; fill:#2DD4BF !important; }
/* A touch more breathing room on the menu */
header.ct-header .menu > li{ margin:0 2px; }
/* Vertical breathing room inside the header row */
header.ct-header [data-row=middle]{
  padding-top:16px !important;
  padding-bottom:16px !important;
  background:#0E3A3A !important;
}
header.ct-header{ background:#0E3A3A !important; }
/* Force hero to clear the overlapping header */
.elementor-element-f6410c4{ padding-top:150px !important; }
@media(max-width:768px){ .elementor-element-f6410c4{ padding-top:120px !important; } }
/* ===== end Indebudget header restyle ===== */