/* Optional brand layer for a GeneratePress classic-theme child theme.
   Add ip-brand to body_class, enqueue after theme CSS, and test on staging.
   This is NOT the complete static site CSS and does not implement transactions. */
body.ip-brand{
 --ip-paper:#f7f4ee;--ip-ink:#30282b;--ip-muted:#6b5e61;--ip-plum:#51263b;
 --ip-plum-dark:#371927;--ip-sand:#e9dfd1;--ip-line:#d8cdc6;
 background:var(--ip-paper);color:var(--ip-ink);
 font-family:Arial,'Helvetica Neue',sans-serif;font-size:15px;line-height:1.65;
}
.ip-brand a{color:var(--ip-plum)}
.ip-brand :where(h1,h2,.ip-display){font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.035em;line-height:1.12}
.ip-brand :where(a,button,input,select,textarea):focus-visible{outline:2px solid var(--ip-plum);outline-offset:4px}
.ip-brand .inside-article,.ip-brand .site-header,.ip-brand .main-navigation,.ip-brand .main-navigation ul ul{background:var(--ip-paper)}
.ip-brand .site-header{border-bottom:1px solid var(--ip-line);background:rgba(247,244,238,.97);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
/* Brand: design-exact wordmark (arch mark + "intimate place." Georgia). */
.ip-brand .site-header .inside-header{min-height:81px;display:flex;align-items:center}
.ip-brand .site-header .main-title,.ip-brand .site-header .site-description{display:none}
.ip-brand .site-header .site-logo img{display:block;width:350px;height:68px}
.ip-brand .site-branding-container{position:relative;width:100%}
.ip-brand .site-branding-container::after{content:"PERSONAL. CONSIDERED. YOURS.";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:11px;letter-spacing:.08em;color:var(--ip-muted)}
/* Primary nav: 12px links, 48px rows, plum underline hover (design .primary-nav). */
.ip-brand .main-navigation{border-top:1px solid var(--ip-line)}
.ip-brand .main-navigation .inside-navigation{padding:0 48px}
.ip-brand .main-navigation .main-nav ul li a{font-family:Arial,'Helvetica Neue',sans-serif;font-size:12px;font-weight:400;letter-spacing:0;color:var(--ip-ink);min-height:48px;display:flex;align-items:center;padding:0 2px;border-bottom:2px solid transparent;transition:border-color .15s,color .15s}
.ip-brand .main-navigation .main-nav ul li:hover>a,.ip-brand .main-navigation .main-nav ul li.current-menu-item>a,.ip-brand .main-navigation .main-nav ul li.sfHover>a{background:transparent;color:var(--ip-plum);border-bottom-color:var(--ip-plum)}
.ip-brand .main-navigation .dropdown-menu-toggle .gp-icon{font-size:12px;padding-left:7px}
.ip-brand .main-navigation .main-nav ul ul{border:1px solid var(--ip-line);box-shadow:0 28px 35px rgba(54,35,52,.08);border-radius:0}
.ip-brand .main-navigation .main-nav ul ul li a{font-size:12px;min-height:36px;padding:7px 18px;justify-content:flex-start;border-bottom:0;white-space:nowrap}
.ip-brand .main-navigation .main-nav ul ul li:hover>a{background:transparent;border-bottom:0;text-decoration:underline;text-underline-offset:4px}
/* Cart bar item: 21px bag icon + plum count badge. */
.ip-brand .menu-bar-item .cart-contents{position:relative;display:inline-flex;align-items:center;min-width:44px;min-height:48px}
.ip-brand .menu-bar-item .gp-icon{font-size:21px}
.ip-brand .menu-bar-item .cart-contents .number-of-items{position:absolute;top:4px;right:2px;font-size:10px;font-weight:600;min-width:16px;height:16px;line-height:16px;text-align:center;border-radius:50%;background:var(--ip-plum);color:var(--ip-paper)}
.ip-brand .menu-bar-item .cart-contents .amount{display:none}
/* Mobile slideout drawer: serif 25px links with hairline dividers. */
.ip-brand .slideout-navigation .main-nav li a{font-family:Georgia,'Times New Roman',serif;font-size:25px;letter-spacing:-.02em;color:var(--ip-ink);border-bottom:1px solid var(--ip-line);padding:17px 0}
.ip-brand .slideout-navigation .main-nav li a:hover{background:transparent;color:var(--ip-plum)}
.ip-brand .slideout-navigation .main-nav ul ul li a{font-family:Arial,'Helvetica Neue',sans-serif;font-size:12px;letter-spacing:0;border-bottom:0;padding:12px 0}
.ip-brand .woocommerce :where(a.button,button.button,input.button),
.ip-brand.woocommerce :where(a.button,button.button,input.button){
 border:1px solid var(--ip-plum);border-radius:0;background:var(--ip-plum);color:var(--ip-paper);
 font-family:Arial,'Helvetica Neue',sans-serif;font-size:13px;font-weight:400;line-height:1.4;min-height:48px;padding:13px 24px;
}
.ip-brand .woocommerce :where(a.button,button.button,input.button):hover,
.ip-brand.woocommerce :where(a.button,button.button,input.button):hover{background:var(--ip-plum-dark);color:white}
.ip-brand .woocommerce ul.products li.product .woocommerce-loop-product__title,
.ip-brand.woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:Arial,'Helvetica Neue',sans-serif;font-size:15px;font-weight:400;line-height:1.45;letter-spacing:0;color:var(--ip-ink)}
.ip-brand .woocommerce :where(.price,.amount),.ip-brand.woocommerce :where(.price,.amount){color:var(--ip-plum)}
.ip-brand .woocommerce :where(input.input-text,select,textarea),
.ip-brand.woocommerce :where(input.input-text,select,textarea){border:1px solid #938087;background:#fffdfa;min-height:46px;border-radius:0;padding:10px 12px;color:var(--ip-ink);font-size:15px}
.ip-brand .woocommerce :where(.woocommerce-message,.woocommerce-info),
.ip-brand.woocommerce :where(.woocommerce-message,.woocommerce-info){background:var(--ip-sand);color:var(--ip-ink);border-top-color:var(--ip-plum)}
.ip-brand .woocommerce :where(.woocommerce-message,.woocommerce-info) a,
.ip-brand.woocommerce :where(.woocommerce-message,.woocommerce-info) a{color:var(--ip-plum);text-decoration:underline}
.ip-brand .woocommerce .woocommerce-error,.ip-brand.woocommerce .woocommerce-error{background:#f4e3e2;color:#872433;border-top-color:#a52b37}
.ip-brand .woocommerce div.product .product_title,.ip-brand.woocommerce div.product .product_title{font-size:clamp(40px,4.5vw,64px)}
.ip-brand .woocommerce div.product .woocommerce-tabs ul.tabs li,
.ip-brand.woocommerce div.product .woocommerce-tabs ul.tabs li{background:transparent;border-color:var(--ip-line);border-radius:0}
.ip-brand .woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.ip-brand .woocommerce div.product .woocommerce-tabs ul.tabs li::after,
.ip-brand.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.ip-brand.woocommerce div.product .woocommerce-tabs ul.tabs li::after{display:none}
.ip-brand .ip-footer{background:var(--ip-plum);color:var(--ip-paper)}
.ip-brand .ip-footer a{color:var(--ip-paper)}
.ip-brand .ip-footer :focus-visible{outline-color:var(--ip-paper)}
@media(max-width:720px){
 .ip-brand .woocommerce :where(input.input-text,select,textarea),.ip-brand.woocommerce :where(input.input-text,select,textarea){font-size:16px}
 .ip-brand .woocommerce div.product .product_title,.ip-brand.woocommerce div.product .product_title{font-size:42px}
}
/* Announcement top bar (design .announcement: left message, right link). */
.ip-brand .top-bar{background:var(--ip-plum);color:#f7f0e8;min-height:32px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;display:flex;align-items:center}
.ip-brand .top-bar .inside-top-bar{display:flex;justify-content:space-between;align-items:center;width:100%}
.ip-brand .top-bar .widget{width:100%;margin:0;padding:0}
.ip-brand .top-bar .ip-announcement{display:flex;justify-content:space-between;align-items:center;gap:24px;min-height:32px}
.ip-brand .top-bar .ip-announcement a{color:#f7f0e8;text-decoration:underline;text-underline-offset:3px}

/* Header/nav responsive (design breakpoints). */
@media(max-width:1199px){
 .ip-brand .site-branding-container::after{display:none}
 .ip-brand .main-navigation .inside-navigation{padding:0 32px}
}
@media(max-width:720px){
 .ip-brand .top-bar{min-height:29px;font-size:8px;letter-spacing:.08em}
 .ip-brand .top-bar .inside-top-bar{justify-content:center}
 .ip-brand .top-bar .ip-announcement{justify-content:center}
 .ip-brand .top-bar .ip-announcement a{display:none}
 .ip-brand .site-header .inside-header{min-height:68px}
 .ip-brand .site-header .site-logo img{width:260px;height:50px}
 .ip-brand .main-navigation .inside-navigation{padding:0 21px}
}

@media(prefers-reduced-motion:reduce){.ip-brand :where(*,*::before,*::after){scroll-behavior:auto!important;transition:none!important;animation:none!important}}
