/*
Theme Name: Culturit
Theme URI: https://www.culturitpr.com
Description: Culturit PR and Design Co. child theme for Hello Elementor. Includes the Option B website (Home, Solutions, Work, About, Memberships, Other Services) and a one-click setup under Appearance > Culturit Setup.
Author: Culturit PR and Design Co.
Author URI: https://www.culturitpr.com
Template: hello-elementor
Version: 3.1.0
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: culturit
*/

/* ---------- Base ---------- */
body { margin: 0; background: #fbfaf6; }
html { scroll-behavior: smooth; }
.cult-sec {
  width: 100%;
  background: #fbfaf6;
  color: #111a14;
  font-family: 'DM Sans', system-ui, sans-serif;
  font-size: 16px;
  line-height: 26px;
  overflow-x: hidden;
}
.cult-sec *, .cult-sec *::before, .cult-sec *::after { box-sizing: border-box; }
.cult-sec img { max-width: 100%; }
.cult-sec h1, .cult-sec h2, .cult-sec h3, .cult-sec h4, .cult-sec p { font-family: inherit; }

/* Elementor wrappers stay out of the way so each section looks exactly like the design */
.cult-wrap, .cult-wrap > .e-con-inner { padding: 0 !important; gap: 0 !important; --padding-top: 0px; --padding-bottom: 0px; --padding-left: 0px; --padding-right: 0px; --gap: 0px; }
.cult-wrap .elementor-widget-html { width: 100%; margin: 0 !important; }
.cult-wrap .elementor-widget-container { padding: 0; }

/* ---------- From the Option B design ---------- */
a{color:#06331a}a:hover{color:#8a5a3b}
@keyframes pb-up{from{transform:translateY(0)}to{transform:translateY(-50%)}}
@keyframes pb-down{from{transform:translateY(-50%)}to{transform:translateY(0)}}
@keyframes pb-x{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.pb-up{animation:pb-up 34s linear infinite}
.pb-down{animation:pb-down 34s linear infinite}
.pb-x{animation:pb-x 30s linear infinite}
@keyframes pb-rot{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
.pb-spin{animation:pb-rot 24s linear infinite}
.pb-serve{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width: 900px){.pb-serve{grid-template-columns:repeat(2,minmax(0,1fr))}}
.pb-card img{transition:transform .6s ease}
.pb-card:hover img{transform:scale(1.04)}
@media (prefers-reduced-motion: reduce){.pb-up,.pb-down,.pb-x,.pb-spin{animation:none}}
.os-three{grid-template-columns:repeat(3,minmax(0,1fr))}
.os-four{grid-template-columns:repeat(4,minmax(0,1fr))}
.os-two{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width: 1000px){.os-three,.os-four{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width: 640px){.os-three,.os-four,.os-two{grid-template-columns:minmax(0,1fr)}}
.pb-site img{transition:transform .5s ease}
.pb-site:hover img{transform:scale(1.03)}
details summary{cursor:pointer;list-style:none}
details summary::-webkit-details-marker{display:none}
details[open] .pb-plus{transform:rotate(45deg)}
.pb-plus{transition:transform .2s ease}

/* ---------- Tablet and phone ---------- */
@media (max-width: 900px) {
  .cult-sec section, .cult-sec header, .cult-sec footer { padding-left: 20px !important; padding-right: 20px !important; }
  .cult-sec section[style*="padding: 140px"], .cult-sec section[style*="padding: 120px"] { padding-top: 80px !important; }
  .cult-sec [style*="grid-template-columns: repeat(3"], .cult-sec [style*="grid-template-columns: repeat(4"] { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .cult-sec [style*="grid-template-columns: 1fr 1fr"], .cult-sec [style*="grid-template-columns: minmax(0, 1fr) minmax(0, 1fr)"], .cult-sec [style*="grid-template-columns: 1.1fr"], .cult-sec [style*="grid-template-columns: 1.2fr"], .cult-sec [style*="grid-template-columns: 0.9fr"] { grid-template-columns: minmax(0, 1fr) !important; }
}
@media (max-width: 640px) {
  .cult-sec [style*="grid-template-columns"]:not(.pb-serve) { grid-template-columns: minmax(0, 1fr) !important; }
  .cult-sec [style*="position: absolute"][style*="border-radius: 999px"][style*="box-shadow"] { display: none; }
  .cult-sec h1 { font-size: 42px !important; line-height: 1.05 !important; }
  .cult-sec h2 { font-size: 32px !important; line-height: 1.1 !important; }
}
/* Large price numbers sit on their own line height */
.cult-sec span[style*="font-size: 44px"], .cult-sec span[style*="font-size: 40px"], .cult-sec span[style*="font-size: 48px"] { display: inline-block; line-height: 1.1; }

/* ---------- Mobile menu (hamburger dropdown) ---------- */
.cult-sec .cult-burger{display:none}
@media (max-width: 860px){
  .cult-sec .cult-head{flex-wrap:wrap !important;gap:12px !important;position:relative}
  .cult-sec .cult-head > a:first-child{order:1;margin-right:auto}
  .cult-sec .cult-head-right{order:2;gap:10px !important}
  .cult-sec .cult-head-right .cult-loc{display:none !important}
  .cult-sec .cult-head-right > a{padding:10px 16px !important;font-size:13px !important}
  .cult-sec .cult-burger{order:3;display:inline-flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:46px;height:46px;padding:0;border:1px solid #d9dccf;border-radius:999px;background:#fbfaf6;cursor:pointer;-webkit-tap-highlight-color:transparent}
  .cult-sec .cult-burger span{display:block;width:20px;height:2px;border-radius:2px;background:#06331a;transition:transform .25s ease,opacity .2s ease}
  .cult-sec .cult-head.is-open .cult-burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .cult-sec .cult-head.is-open .cult-burger span:nth-child(2){opacity:0}
  .cult-sec .cult-head.is-open .cult-burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .cult-sec .cult-nav{order:4;display:none !important;flex-basis:100%;flex-direction:column !important;align-items:stretch !important;gap:2px !important;padding:10px !important;border-radius:22px;background:#fbfaf6;border:1px solid #ebe7dc;box-shadow:0 18px 40px rgba(6,51,26,.10);font-size:17px !important}
  .cult-sec .cult-head.is-open .cult-nav{display:flex !important;animation:cultDrop .22s ease}
  .cult-sec .cult-nav a{padding:14px 18px !important;border-radius:14px !important}
  .cult-sec .cult-nav a[aria-current="page"]{background:#eef1e8 !important}
}
@media (max-width: 380px){ .cult-sec .cult-head > a:first-child img{width:104px !important} .cult-sec .cult-head-right > a{padding:9px 13px !important} }
@keyframes cultDrop{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
