/* All Occasions Tents 2026: site-wide design system (from the Sept 2026 homepage mockup). */
:root{--aot-bg:#faf8f5;--aot-panel:#f3ede6;--aot-sand:#efe5dc;--aot-slate:#506d7c;--aot-slate-d:#435d6b;--aot-tan:#c9ad92;--aot-ink:#1d1d1b;--aot-muted:#6d6a66;--aot-line:#e4ddd5;--aot-serif:"Instrument Serif",Georgia,serif;--aot-sans:"Jost","Helvetica Neue",Arial,sans-serif;--aot-arrow:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.4'%3E%3Cpath d='M7 17L17 7M9 7h8v8'/%3E%3C/svg%3E")}

/* ---------- base ---------- */
body,#page-container,#main-content,#et-main-area,.et_pb_section:not(.et_pb_with_background){background-color:var(--aot-bg)}
body{font-family:var(--aot-sans);font-weight:300;color:var(--aot-ink)}
#page-container{padding-top:0!important}
#page-container :is(p,li,td,th,dd,dt,blockquote,label,input,select,textarea,.et_pb_text_inner,.et_pb_blurb_description,.et_pb_promo_description,.et_pb_testimonial_description,.et_pb_toggle_content,.et_pb_tab,.post-meta,.entry-content){font-family:var(--aot-sans)!important}
#page-container :is(h1,h2,h3,h4,h5,.et_pb_module_header,.entry-title,.et_pb_toggle_title,.et_pb_testimonial_author){font-family:var(--aot-serif)!important;font-weight:400!important;letter-spacing:-.005em!important;text-transform:none!important;line-height:1.08!important}
#page-container :is(h1,h2,h3,h4,h5) :is(strong,b){font-weight:400!important;font-style:italic}
#page-container h6{font-family:var(--aot-sans)!important;font-weight:500!important;letter-spacing:.14em!important;text-transform:uppercase!important;font-size:12px!important}
#page-container .et_pb_text_inner :is(p,li){line-height:1.75}
#page-container a{color:var(--aot-slate)}
#page-container .et_pb_with_background a:not(.et_pb_button),#page-container .aot-site-header a,#page-container .aot-site-footer a{color:inherit}
::selection{background:var(--aot-tan);color:#fff}

/* ---------- shared header ---------- */
.et-l--header .et_pb_section,.et-l--header .et_pb_row,.et-l--header .et_pb_column,.et-l--header .et_pb_module,.et-l--footer .et_pb_section,.et-l--footer .et_pb_row,.et-l--footer .et_pb_column,.et-l--footer .et_pb_module{padding:0!important;margin:0!important;width:100%!important;max-width:none!important;background:none!important;position:static!important;box-shadow:none!important;border:0!important}
.et-l--header{position:relative;z-index:100}
.aot-site-header{margin:14px 14px 0;position:relative;z-index:100}
.aot-nav{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 26px;background:var(--aot-ink);border-radius:20px;font-family:var(--aot-sans)}
.aot-header--overlay,body:has(.et-l--post .et_pb_section:first-child.et_pb_with_background) .aot-header--auto{position:absolute;top:0;left:0;right:0}
.aot-header--overlay .aot-nav,body:has(.et-l--post .et_pb_section:first-child.et_pb_with_background) .aot-header--auto .aot-nav{background:rgba(20,20,20,.35);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border-radius:20px 20px 0 0}
.aot-logo{font-family:var(--aot-serif)!important;font-size:24px;color:#fff!important;white-space:nowrap;line-height:1;text-decoration:none}
.aot-logo em{font-style:italic}
.aot-links{list-style:none!important;display:flex;align-items:center;gap:26px;margin:0!important;padding:0!important}
.aot-links>li{position:relative;list-style:none;padding:0!important;line-height:1}
.aot-links a,.aot-links button{color:#fff!important;font:400 14px/1 var(--aot-sans)!important;background:none;border:0;padding:8px 0;cursor:pointer;text-decoration:none}
.aot-links a:hover,.aot-links button:hover{color:var(--aot-tan)!important}
.aot-links .has-sub>button::after{content:"";display:inline-block;width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-3px) rotate(45deg);margin-left:8px}
.aot-links .has-sub>ul{position:absolute;top:100%;left:-18px;min-width:250px;margin:0;padding:10px 0;list-style:none;background:#fff;border-radius:14px;box-shadow:0 18px 40px rgba(0,0,0,.18);opacity:0;visibility:hidden;transform:translateY(6px);transition:.18s}
.aot-links .has-sub:hover>ul,.aot-links .has-sub:focus-within>ul,.aot-links .has-sub>button[aria-expanded=true]+ul{opacity:1;visibility:visible;transform:none}
.aot-links .has-sub>ul a{display:block;color:var(--aot-ink)!important;padding:9px 20px;font-size:14px!important}
.aot-links .has-sub>ul a:hover{background:var(--aot-panel);color:var(--aot-slate)!important}
.aot-links-phone{display:none}
.aot-pill{position:relative;background:var(--aot-slate);color:#fff!important;border-radius:40px;padding:11px 20px;font:600 12px/1 var(--aot-sans);letter-spacing:.08em;text-transform:uppercase;margin-right:12px;white-space:nowrap;text-decoration:none}
.aot-pill:hover{background:var(--aot-slate-d)}
.aot-pill i{position:absolute;right:-12px;top:-6px;width:22px;height:22px;border-radius:50%;background:var(--aot-tan) var(--aot-arrow) center/11px no-repeat}
.aot-burger{display:none;cursor:pointer;flex-direction:column;gap:5px;padding:6px}
.aot-burger span{width:24px;height:2px;background:#fff;display:block}

/* ---------- shared footer ---------- */
.aot-site-footer{max-width:1100px;margin:0 auto;padding:90px 24px 30px;font-family:var(--aot-sans)}
.aot-foot{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr 1fr;gap:36px}
.aot-site-footer .aot-logo{color:var(--aot-slate)!important;font-size:30px}
.aot-site-footer p{font-size:13.5px;color:var(--aot-muted);line-height:1.6;margin:12px 0 0;padding:0}
.aot-site-footer h4{font:600 12px/1.2 var(--aot-sans)!important;letter-spacing:.14em!important;text-transform:uppercase!important;margin:6px 0 16px;padding:0;color:var(--aot-ink)}
.aot-site-footer .aot-foot a:not(.aot-logo){display:block;font-size:13.5px;color:var(--aot-muted)!important;margin-bottom:10px;text-decoration:none}
.aot-site-footer a:hover{color:var(--aot-slate)!important}
.aot-foot-bottom{display:flex;justify-content:space-between;gap:10px;border-top:1px solid var(--aot-line);margin-top:50px;padding-top:18px;font-size:12px;color:var(--aot-muted)}
.aot-foot-bottom a{color:var(--aot-muted)!important;text-decoration:none}
#footer-bottom,#main-footer{display:none}

/* ---------- Divi content sections as rounded inset cards ---------- */
.et-l--post .et_pb_section.et_pb_with_background,.et-l--post .et_pb_fullwidth_section.et_pb_with_background{margin:14px 14px 0!important;border-radius:20px;overflow:hidden}
.et-l--post .et_pb_section:first-child.et_pb_with_background{padding-top:120px!important;margin-top:14px!important}
.et-l--post .et_pb_section:first-child .et_pb_image:has(img[src*="All-Occasions-Tents-01"]){display:none}
.et-l--post .et_pb_section:not(.et_pb_with_background){background:transparent!important}
.et-l--post .et_pb_image img,.et-l--post .et_pb_gallery_image img,.et-l--post .et_pb_video,.et-l--post .et_pb_video_box{border-radius:14px}
.et-l--post .et_pb_image img[src*="logo"]{border-radius:0}
.et-l--post .et_pb_blurb_content .et_pb_main_blurb_image img{border-radius:12px}
.et-l--post .et_pb_divider:before{border-top-color:var(--aot-line)!important}

/* ---------- buttons ---------- */
body #page-container .et_pb_button,body #page-container .et_pb_contact_submit,body #page-container .et_pb_more_button,body #page-container .gform_wrapper :is(input[type=submit],.gform_next_button,.gform_previous_button,.gform_button),.aot-btn .elementor-button{position:relative;display:inline-block;background:var(--aot-slate)!important;color:#fff!important;border:0!important;border-radius:40px!important;padding:13px 24px!important;font:600 12px/1.2 var(--aot-sans)!important;letter-spacing:.08em!important;text-transform:uppercase!important;box-shadow:none!important;margin-right:14px;cursor:pointer;transition:background .2s}
body #page-container .et_pb_button:hover,body #page-container .gform_wrapper input[type=submit]:hover{background:var(--aot-slate-d)!important;padding:13px 24px!important}
body #page-container .et_pb_button::after{content:""!important;display:block!important;opacity:1!important;position:absolute!important;left:auto!important;right:-14px!important;top:-4px!important;margin:0!important;width:22px;height:22px;border-radius:50%;background:var(--aot-tan) var(--aot-arrow) center/11px no-repeat;font-size:0!important;line-height:0!important}
body #page-container .et_pb_button::before{display:none!important}
body #page-container .et_pb_button.et_pb_bg_layout_dark,body #page-container .et_pb_section:first-child.et_pb_with_background .et_pb_button{background:#fff!important;color:var(--aot-slate)!important}

/* ---------- blurbs, accordions, testimonials ---------- */
#page-container .et-pb-icon{color:var(--aot-slate)}
#page-container .et_pb_with_background .et-pb-icon{color:var(--aot-tan)}
#page-container .et_pb_toggle{border:1px solid var(--aot-line)!important;border-radius:12px;background:#fff!important;margin-bottom:10px!important}
#page-container .et_pb_toggle_title{font-size:20px!important;color:var(--aot-ink)!important}
#page-container .et_pb_toggle_title::before{color:var(--aot-slate)!important}
#page-container .et_pb_testimonial{border-radius:16px;background:#fff!important}

/* ---------- forms (Gravity Forms + Divi contact) ---------- */
#page-container .gform_wrapper{font-family:var(--aot-sans)}
#page-container .gform_wrapper :is(input:not([type=submit]):not([type=button]):not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea),#page-container .et_pb_contact_form .input{border:1px solid var(--aot-line)!important;border-radius:8px!important;padding:10px 12px!important;font-size:14px!important;background:#fff!important;color:var(--aot-ink)!important;box-shadow:none!important}
#page-container .gform_wrapper :is(input,select,textarea):focus{border-color:var(--aot-slate)!important;outline:2px solid rgba(80,109,124,.18)}
#page-container .gform_wrapper :is(.gfield_label,legend.gfield_label,.gform-field-label){font:400 12.5px/1.3 var(--aot-sans)!important;color:var(--aot-ink)}
#page-container .gform_wrapper .gfield_required{color:#b5473a}
#page-container .gform_wrapper .gf_progressbar{background:var(--aot-line)!important;border-radius:4px;height:4px;padding:0!important}
#page-container .gform_wrapper .gf_progressbar_percentage{background:var(--aot-slate)!important;height:4px!important;border-radius:4px}
#page-container .gform_wrapper .gf_progressbar_percentage span{display:none}
#page-container .gform_wrapper .gf_progressbar_title{font:400 12px/1 var(--aot-sans)!important;color:var(--aot-muted)!important;text-transform:none!important}

/* ---------- blog / single posts without a builder hero ---------- */
.single-post #main-content .container,.blog #main-content .container,.archive #main-content .container{max-width:1100px}
.single-post #left-area .entry-title,.single .et_post_meta_wrapper h1{font-size:clamp(38px,5vw,60px)!important}
#main-content .container::before{display:none}
#sidebar .widget-title{font:600 12px/1.2 var(--aot-sans)!important;letter-spacing:.14em!important;text-transform:uppercase}

/* ---------- responsive ---------- */
@media (max-width:980px){
.aot-burger{display:flex}
.aot-nav{flex-wrap:wrap}
.aot-pill{display:none}
.aot-links{display:none;order:3;width:100%;flex-direction:column;align-items:stretch;gap:0;padding:8px 0!important}
.aot-menu-toggle:checked~.aot-links{display:flex}
.aot-links a,.aot-links button{display:block;width:100%;text-align:left;padding:12px 4px;font-size:16px!important}
.aot-links .has-sub>ul{position:static;opacity:1;visibility:visible;transform:none;display:none;background:rgba(255,255,255,.06);box-shadow:none;margin:0 0 6px;border-radius:10px}
.aot-links .has-sub>button[aria-expanded=true]+ul{display:block}
.aot-links .has-sub>ul a{color:#fff!important}
.aot-links .has-sub>ul a:hover{background:none}
.aot-links-phone{display:block}
body:has(.et-l--post .et_pb_section:first-child.et_pb_with_background) .aot-header--auto .aot-nav,.aot-header--overlay .aot-nav{background:rgba(20,20,20,.55)}
.aot-foot{grid-template-columns:1fr 1fr}
.aot-foot-brand{grid-column:1/-1}
}
@media (max-width:560px){
.et-l--post .et_pb_section.et_pb_with_background{margin:10px 10px 0!important;border-radius:16px}
.aot-site-header{margin:10px 10px 0}
.aot-nav{padding:12px 16px}
.aot-foot{grid-template-columns:1fr}
.aot-foot-bottom{flex-direction:column}
}

/* header phone + CTA group */
.aot-nav-cta{display:flex;align-items:center;gap:22px}
.aot-nav-phone{color:#fff!important;font:400 14px/1 var(--aot-sans);text-decoration:none;display:flex;align-items:center;gap:8px;white-space:nowrap}
.aot-nav-phone::before{content:"";width:14px;height:14px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M6.6 10.8a15.1 15.1 0 006.6 6.6l2.2-2.2c.3-.3.7-.4 1-.2 1.1.4 2.3.6 3.6.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1A17 17 0 013 4c0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.3.2 2.5.6 3.6.1.3 0 .7-.2 1L6.6 10.8z'/%3E%3C/svg%3E") center/contain no-repeat}
.aot-nav-phone:hover{color:var(--aot-tan)!important}
@media (max-width:1180px){.aot-nav-phone{display:none}.aot-links{gap:18px}}
@media (max-width:980px){.aot-nav-cta{display:none}}

/* header over hero: Divi's text wrappers are positioned, so pin the header to the page width */
.et-l--header{width:100%}
.et-l--header .et_pb_text_inner{position:static!important}
.aot-header--overlay,body:has(.et-l--post .et_pb_section:first-child.et_pb_with_background) .aot-header--auto{width:auto;margin:0!important;left:14px;right:14px;top:14px}
@media (max-width:560px){body:has(.et-l--post .et_pb_section:first-child.et_pb_with_background) .aot-header--auto{left:10px;right:10px;top:10px}}

/* hero copy reads white on the dark photo overlay, like the homepage */
.et-l--post .et_pb_section:first-child.et_pb_with_background :is(h1,h2,h3,h4,p,li,span,em,strong,a:not(.et_pb_button)){color:#fff!important}
.et-l--post .et_pb_section:first-child.et_pb_with_background .et_pb_divider:before{border-top-color:rgba(255,255,255,.3)!important}

/* large "headline" text modules (tagged aot-display) use the serif, like the mockup */
#page-container .aot-display :is(p,h1,h2,h3,span,strong,em){font-family:var(--aot-serif)!important;font-weight:400!important;line-height:1.05!important;letter-spacing:-.01em}
#page-container .aot-display :is(strong,b){font-style:italic}

/* sticky header: solid once the page scrolls (class set by the header script) */
.aot-site-header .aot-nav{transition:background .25s,border-radius .25s,box-shadow .25s}
.aot-site-header.is-scrolled .aot-nav{background:rgba(29,29,27,.94)!important;border-radius:20px!important;box-shadow:0 10px 30px rgba(0,0,0,.18)}

/* forms sitting inside the dark hero keep dark labels on their white card */
.et-l--post .et_pb_section:first-child.et_pb_with_background .gform_wrapper :is(label,legend,span,p,div,.gfield_description){color:var(--aot-ink)!important}
.et-l--post .et_pb_section:first-child.et_pb_with_background .gform_wrapper .gfield_required{color:#b5473a!important}
.et-l--post .gform_wrapper{border-radius:16px}

/* old customizer background + sidebar card */
body.custom-background,body{background-color:var(--aot-bg)!important;background-image:none!important}
#sidebar{border-left:0!important}
#sidebar .et_pb_widget{background:#fff;border:1px solid var(--aot-line);border-radius:16px;padding:22px}
.single-post #main-content,.blog #main-content,.archive #main-content,.search #main-content{padding-top:30px}
.et-l--post .et_pb_row{border-radius:16px}

/* the header overlays photo heroes, so drop Divi's fixed-header offset on those pages */
body:has(.et-l--post .et_pb_section:first-child.et_pb_with_background) #et-main-area{padding-top:0!important}
@media (max-width:980px){.et-l--post .et_pb_section:first-child.et_pb_with_background{padding-top:96px!important}}

/* blog grid cards */
#page-container .et_pb_blog_grid .et_pb_post{background:#fff!important;border:1px solid var(--aot-line)!important;border-radius:16px;overflow:hidden;padding:0 0 20px}
#page-container .et_pb_blog_grid .et_pb_post>:not(.et_pb_image_container){padding-left:20px;padding-right:20px}
#page-container .et_pb_blog_grid .et_pb_image_container{margin:0 0 18px}
#page-container .et_pb_blog_grid .et_pb_image_container img{border-radius:0}
#page-container .et_pb_blog_grid .entry-title{font-size:22px!important}
#page-container .et_pb_blog_grid .more-link{font:600 12px/1 var(--aot-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--aot-slate)}

/* ---------- client logo strip (every page, above the footer) ---------- */
.et_pb_section:has(#Mob-galler-rowzzz),.et_pb_section.san-francisco-brand:has(.n2-section-smartslider){display:none!important}
.aot-clients{max-width:1240px;margin:0 auto;padding:56px 24px 0;text-align:center;font-family:var(--aot-sans)}
.aot-clients-label{font:500 12px/1.2 var(--aot-sans)!important;letter-spacing:.14em;text-transform:uppercase;color:var(--aot-muted);margin:0 0 26px!important;padding:0!important}
.aot-clients-list{list-style:none!important;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:28px 34px;margin:0!important;padding:0 0 46px!important;border-bottom:1px solid var(--aot-line)}
.aot-clients-list li{list-style:none;padding:0!important;margin:0;line-height:0}
.aot-clients-list img{display:block;height:38px;width:auto;max-width:140px;object-fit:contain}
.aot-clients-list .is-mark img{height:46px}
@media (max-width:560px){.aot-clients{padding-top:40px}.aot-clients-list{gap:22px 28px;padding-bottom:34px!important}.aot-clients-list img{height:28px;max-width:96px}.aot-clients-list .is-mark img{height:34px}}

/* ---------- wider photo column (Air-Conditioned Tents, Cintia 11/5: "just made bigger") ---------- */
@media (min-width:981px){
.aot-photo-wide.et_section_specialty>.et_pb_row>.et_pb_column_1_2:first-child{width:37.5%!important;margin-right:5.5%!important}
.aot-photo-wide.et_section_specialty>.et_pb_row>.et_pb_column_1_2:last-child{width:57%!important}
}

/* Hero display line used as the page H1 (Sacramento): keep the display look. 2026-11-12 */
.aot-display h1{font:inherit;color:inherit;line-height:inherit;letter-spacing:inherit;text-transform:inherit;margin:0;padding:0}
