/*
Theme Name:   Purama Labs
Theme URI:    https://puramalabs.com/
Description:  Custom theme for Purama Labs, functional everyday products built around ingredients with a clear, proven benefit.
Author:       zerozerozero
Author URI:   https://puramalabs.com/
Template:     astra
Version:      1.0.3
Requires PHP: 8.0
Text Domain:  purama-labs
License:      GNU General Public License v2 or later
License URI:  https://www.gnu.org/licenses/gpl-2.0.html
*/

/* =====================================================================
   HEADER (Astra header builder) — matches the Purama Labs mockups
   ===================================================================== */
body{background:#F7F6F2}

/* announcement bar (above header, html-1) */
.ast-above-header-bar,.ast-above-header-wrap .ast-above-header-bar{background:#0B3A37!important;border:0!important;min-height:38px;padding:0!important}
.ast-above-header-bar .site-above-header-wrap{min-height:38px!important;height:38px;padding:0}
.ast-above-header-bar .ast-builder-grid-row{grid-template-columns:1fr!important}
.ast-above-header-bar .ast-grid-section-center,.ast-above-header-bar .site-header-above-section-center{width:100%;justify-content:stretch;overflow:hidden}
.ast-header-html-1{width:100%;overflow:hidden}
.ast-header-html-1 .ast-builder-html-element{width:100%}
.ast-header-html-1 p{margin:0}
.pl-announce{overflow:hidden;width:100%}
.pl-announce-track{display:flex;width:max-content;animation:pl-tick 26s linear infinite}
.pl-announce .pl-run{display:flex;align-items:center;white-space:nowrap}
.pl-announce span{font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.85);display:inline-flex;align-items:center}
.pl-announce span::after{content:"";width:4px;height:4px;border-radius:50%;background:#7FD6C8;display:inline-block;margin:0 24px}
@keyframes pl-tick{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* main header row */
.ast-primary-header-bar,.main-header-bar{background:rgba(247,246,242,.92)!important;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid #E0DFD8!important}
.ast-primary-header-bar{padding:0!important}
.ast-primary-header-bar .site-primary-header-wrap{min-height:84px!important;height:84px}
.ast-builder-grid-row-has-sides.ast-grid-center-col-layout{grid-template-columns:1fr auto 1fr}
.site-header .ast-container,.ast-primary-header-bar .ast-container{max-width:1400px;padding-left:40px;padding-right:40px}

/* sticky: the announcement bar scrolls away, the main row stays */
#masthead{position:sticky;top:-38px;z-index:99}
.admin-bar #masthead{top:-6px}
@media (max-width:921px){#masthead{top:-34px}.admin-bar #masthead{top:12px}}

/* desktop menu */
.ast-builder-menu-1 .main-header-menu{gap:30px;flex-wrap:nowrap}
.ast-builder-menu-1 .menu-item{white-space:nowrap}
.ast-builder-menu-1 .menu-item>.menu-link{font-family:"IBM Plex Mono",monospace!important;font-size:12.5px!important;letter-spacing:.1em!important;text-transform:uppercase;color:#5D6662!important;padding:0!important;line-height:1.4!important;position:relative;font-weight:400!important}
.ast-builder-menu-1 .menu-item>.menu-link::after{content:"";position:absolute;left:0;bottom:-5px;width:100%;height:1px;background:#171F1D;transform:scaleX(0);transform-origin:left;transition:transform .25s ease}
.ast-builder-menu-1 .menu-item>.menu-link:hover,.ast-builder-menu-1 .current-menu-item>.menu-link{color:#171F1D!important}
.ast-builder-menu-1 .menu-item>.menu-link:hover::after,.ast-builder-menu-1 .current-menu-item>.menu-link::after{transform:scaleX(1)}
.ast-builder-menu-1 .menu-item-type-custom.current-menu-item>.menu-link{color:#5D6662!important}
.ast-builder-menu-1 .menu-item-type-custom.current-menu-item>.menu-link::after{transform:scaleX(0)}

/* language switcher (ready for more languages) + button */
.pl-lang-sw{position:relative}
.pl-lang-btn{display:inline-flex;align-items:center;gap:6px;background:none!important;border:0!important;padding:6px 0!important;cursor:pointer;font-family:"IBM Plex Mono",monospace!important;font-size:12px!important;letter-spacing:.1em;color:#5D6662!important;line-height:1}
.pl-lang-btn svg{display:none}
.pl-lang-btn::after{content:"";width:5px;height:5px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .2s;margin-left:2px}
.pl-lang-btn:hover{color:#171F1D!important}
.pl-lang-list{position:absolute;top:calc(100% + 10px);right:-14px;min-width:150px;margin:0!important;padding:8px 0!important;list-style:none;background:#fff;border:1px solid #E0DFD8;box-shadow:0 12px 30px rgba(23,31,29,.08);opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity .18s,transform .18s,visibility 0s .18s;z-index:100}
.pl-lang-list li{margin:0}
.pl-lang-list a{display:flex;align-items:center;gap:12px;padding:9px 16px;font-family:"Instrument Sans",system-ui,sans-serif;font-size:14px;color:#171F1D!important;text-decoration:none}
.pl-lang-list a span{font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.1em;color:#5D6662;width:20px}
.pl-lang-list a:hover{background:#F7F6F2}
.pl-lang-list a[aria-current]{color:#0B3A37!important;font-weight:500}
.pl-lang-sw:hover .pl-lang-list,.pl-lang-sw:focus-within .pl-lang-list,.pl-lang-sw.open .pl-lang-list{opacity:1;visibility:visible;transform:none;transition:opacity .18s,transform .18s}
.pl-lang-sw:hover .pl-lang-btn::after,.pl-lang-sw:focus-within .pl-lang-btn::after{transform:translateY(1px) rotate(225deg)}
.ast-header-html-2 p{margin:0}
.site-primary-header-wrap .site-header-primary-section-right{gap:22px}
.ast-header-button-1 .ast-custom-button,.ast-builder-button-wrap .ast-custom-button{background:#0B3A37!important;color:#fff!important;border:0!important;border-radius:2px!important;padding:13px 22px!important;font-family:"Instrument Sans",system-ui,sans-serif!important;font-size:13px!important;font-weight:500!important;line-height:1!important;letter-spacing:.01em}
.ast-header-button-1 .ast-custom-button:hover{background:#11524D!important}

/* logo */
.site-logo-img img,.custom-logo-link img{max-height:none}

/* mobile header */
@media (max-width:921px){
  .ast-primary-header-bar .site-primary-header-wrap,.ast-mobile-header-wrap .ast-primary-header-bar{min-height:64px}
  .site-header .ast-container,.ast-mobile-header-wrap .ast-container{padding-left:24px!important;padding-right:24px!important}
  .ast-mobile-header-wrap .ast-above-header-bar{min-height:34px}
  .ast-mobile-header-wrap .ast-button-wrap .menu-toggle,.ast-mobile-menu-trigger-minimal{background:none!important;color:#171F1D!important;border:0!important;padding:8px!important}
  .ast-mobile-svg{fill:#171F1D!important;width:22px!important;height:22px!important}
  .ast-mobile-popup-drawer .ast-mobile-popup-inner{background:#F7F6F2!important;max-width:100%!important;width:100%!important}
  .ast-mobile-popup-drawer .ast-mobile-popup-header{padding:14px 18px 0}
  .ast-mobile-popup-drawer .menu-toggle-close{border:0!important;outline:0!important;color:#171F1D!important;background:none!important}
  .ast-mobile-popup-content{padding:10px 24px 34px!important}
  .ast-mobile-popup-content .main-header-menu{border-top:1px solid #E0DFD8;background:none!important}
  .ast-mobile-popup-content .menu-item{background:none!important}
  .ast-mobile-popup-content .menu-item>.menu-link{font-family:"Instrument Serif",Georgia,serif!important;font-size:30px!important;line-height:1.1!important;color:#171F1D!important;padding:18px 0!important;border-bottom:1px solid #E0DFD8!important;letter-spacing:0!important;text-transform:none!important;background:none!important}
  .ast-mobile-popup-content .current-menu-item:not(.menu-item-type-custom)>.menu-link{color:#0B3A37!important}
  .ast-mobile-popup-content .ast-header-button-1{margin-top:28px;width:100%}
  .ast-mobile-popup-content .ast-header-button-1 .ast-builder-button-wrap,.ast-mobile-popup-content .ast-header-button-1 .ast-custom-button-link{display:block;width:100%}
  .ast-mobile-popup-content .ast-header-button-1 .ast-custom-button{display:block;text-align:center;padding:17px 22px!important;font-size:15px!important}
  .ast-mobile-header-content,.ast-mobile-header-wrap .ast-mobile-header-content{background:#F7F6F2!important;padding:18px 24px 34px!important;border-top:1px solid #E0DFD8}
  .ast-mobile-header-content .main-header-menu{border-top:1px solid #E0DFD8}
  .ast-mobile-header-content .menu-item>.menu-link{font-family:"Instrument Serif",Georgia,serif!important;font-size:30px!important;line-height:1.1!important;color:#171F1D!important;padding:18px 0!important;border-bottom:1px solid #E0DFD8!important;letter-spacing:0!important;text-transform:none!important;background:none!important}
  .ast-mobile-header-content .current-menu-item>.menu-link{color:#0B3A37!important}
  .ast-mobile-header-content .ast-header-button-1{margin-top:28px;width:100%}
  .ast-mobile-header-content .ast-header-button-1 .ast-custom-button{display:block;text-align:center;padding:17px 22px!important;font-size:15px!important}
}

/* =====================================================================
   FOOTER (Astra footer builder)
   ===================================================================== */
.site-footer,.site-primary-footer-wrap,.site-below-footer-wrap,.site-above-footer-wrap{background:#0B3A37!important;color:rgba(255,255,255,.72)}
.site-primary-footer-wrap{padding:80px 0 0!important;border:0!important}
.site-below-footer-wrap{padding:0 0 46px!important;border:0!important}
.site-footer .ast-builder-grid-row{max-width:1320px}
.site-primary-footer-wrap .ast-builder-grid-row{align-items:flex-start}
.pl-foot-logo img{width:240px;height:auto;display:block}
.pl-foot-tag{margin:20px 0 0!important;font-size:14px;max-width:34ch;color:rgba(255,255,255,.6);line-height:1.6}
.site-primary-footer-wrap .site-footer-primary-section-2{justify-content:flex-end}
#astra-footer-menu,.footer-widget-area .footer-nav-wrap .menu,.site-footer .footer-navigation .menu{display:flex!important;flex-wrap:wrap;gap:14px 28px;justify-content:flex-end}
#astra-footer-menu .menu-item{margin:0!important;padding:0!important;border:0!important}
.site-footer .ast-builder-html-element,.site-footer .ast-footer-copyright{text-align:left!important}
.site-footer .site-footer-primary-section-1,.site-footer .site-footer-below-section-1{justify-content:flex-start!important;text-align:left}
.site-footer .footer-nav-wrap .menu-link,.site-footer .footer-navigation a{font-family:"IBM Plex Mono",monospace!important;font-size:12px!important;letter-spacing:.12em!important;text-transform:uppercase;color:rgba(255,255,255,.8)!important;padding:0!important}
.site-footer .footer-nav-wrap .menu-link:hover{color:#fff!important}
.site-below-footer-wrap .ast-builder-grid-row{border-top:1px solid rgba(255,255,255,.16);padding-top:28px;margin-top:60px}
.site-below-footer-wrap .site-footer-below-section-1{flex-direction:column;align-items:flex-start;gap:20px}
.ast-footer-copyright,.ast-footer-copyright p{font-size:13px;color:rgba(255,255,255,.5)!important;margin:0}
.pl-foot-req{display:flex;flex-wrap:wrap;gap:8px 0;font-style:normal;font-size:12.5px;line-height:1.5;color:rgba(255,255,255,.5);margin:0}
.pl-foot-req span{display:inline-flex;align-items:center}
.pl-foot-req span+span::before{content:"";width:1px;height:12px;background:rgba(255,255,255,.22);margin:0 16px}
.pl-foot-req b{font-weight:500;color:rgba(255,255,255,.72)}
.pl-foot-req a{color:inherit}
.pl-foot-req a:hover{color:#fff}
@media (max-width:921px){
  .site-primary-footer-wrap{padding-top:64px!important}
  .site-primary-footer-wrap .site-footer-primary-section-2{justify-content:flex-start;margin-top:34px}
  #astra-footer-menu,.footer-widget-area .footer-nav-wrap .menu,.site-footer .footer-navigation .menu{justify-content:flex-start!important;gap:16px 24px}
  .site-footer .ast-builder-grid-row{padding-left:24px;padding-right:24px}
}
@media (max-width:767px){
  .pl-foot-req{flex-direction:column;gap:4px}
  .pl-foot-req span+span::before{display:none}
}
@media (prefers-reduced-motion:reduce){.pl-announce-track{animation:none}}
