/*
Theme Name: Porto Child
Theme URI: https://www.portotheme.com/wordpress/porto/
Description: Child theme for Porto — Pi-Solergy brand layer.
Author: Brandery
Author URI: https://brandery.io
Template: porto
Version: 1.1.0
Text Domain: porto-child
*/

/* ---- Brand tokens (from the Pi-Solergy Design System) ---- */
:root {
	--pisol-navy: #0F2545;
	--pisol-navy-deep: #0B1A30;
	--pisol-orange: #F28C1E;
	--pisol-orange-deep: #F27A00;
	--pisol-amber: #FFB400;
	--pisol-sand: #F7F5F0;
	--pisol-ink: #0F2545;
	--pisol-ink-muted: #5B667A;
	--pisol-line: #E3E0D8;
	--pisol-success: #1E8E5A;
	--pisol-danger: #C8372D;
	--pisol-radius-sm: 4px;
	--pisol-radius-md: 8px;
	--pisol-radius-lg: 16px;

	/* map onto Porto's variables so its components follow the brand */
	--porto-primary-color: var(--pisol-orange);
	--porto-primary-light-5: var(--pisol-orange-deep);
	--porto-secondary-color: var(--pisol-navy);
	--porto-tertiary-color: var(--pisol-amber);
	--porto-dark-color: var(--pisol-navy);
	--porto-light-color: var(--pisol-sand);
	--porto-body-color: var(--pisol-ink);
	--porto-heading-color: var(--pisol-navy);
}

/* ---- Typography: Poppins for display, Manrope for text ---- */
body, .porto-body, input, select, textarea, button {
	font-family: "Manrope", "Segoe UI", Arial, sans-serif;
	color: var(--pisol-ink);
}
h1, h2, h3, h4, h5, h6, .porto-heading, .page-title, .product_title, .price, .amount,
#header .main-menu > li > a, .porto-btn, .btn, .button {
	font-family: "Poppins", "Segoe UI", Arial, sans-serif;
}
h1, h2, h3, h4, h5, h6, .page-title, .product_title { color: var(--pisol-navy); font-weight: 600; letter-spacing: -0.01em; }
.price, .amount { font-variant-numeric: tabular-nums; }

/* ---- Surfaces ---- */
body { background: var(--pisol-sand); }
.product-image, .products .product, .porto-product-card, .woocommerce-tabs, .widget_layered_nav, .card {
	background: #fff; border-radius: var(--pisol-radius-md);
}

/* ---- Buttons: orange = action; navy text where the label is small ---- */
.btn-primary, .button, .single_add_to_cart_button, .wc-forward, .checkout-button, .porto-btn.porto-btn-primary {
	background: var(--pisol-orange) !important; border-color: var(--pisol-orange) !important; color: var(--pisol-navy) !important;
	border-radius: var(--pisol-radius-md) !important; font-weight: 600;
}
.btn-primary:hover, .button:hover, .single_add_to_cart_button:hover, .checkout-button:hover {
	background: var(--pisol-orange-deep) !important; border-color: var(--pisol-orange-deep) !important; color: #fff !important;
}
.btn-secondary, .btn-dark { background: var(--pisol-navy) !important; border-color: var(--pisol-navy) !important; color: #fff !important; border-radius: var(--pisol-radius-md) !important; }

/* ---- Header / footer ---- */
#header .header-main .logo img { max-height: 56px; width: auto; }
#header .main-menu > li > a { color: var(--pisol-navy); font-weight: 500; }
#header .main-menu > li.active > a, #header .main-menu > li:hover > a { color: var(--pisol-orange); }
#footer { background: var(--pisol-navy-deep); color: #C9D3E3; }
#footer h3, #footer h4, #footer .widget-title { color: #fff; font-family: "Poppins", sans-serif; }
#footer a { color: #C9D3E3; } #footer a:hover { color: var(--pisol-amber); }
#footer .footer-bottom { background: var(--pisol-navy); }

/* ---- Shop states ---- */
.onsale, .labels .onsale { background: var(--pisol-orange) !important; color: var(--pisol-navy) !important; border-radius: var(--pisol-radius-sm); }
.stock.in-stock { color: var(--pisol-success); }
.stock.out-of-stock { color: var(--pisol-danger); }
.star-rating span::before, .star-rating::before { color: var(--pisol-amber); }
a { color: var(--pisol-navy); } a:hover { color: var(--pisol-orange); }

/* ---- Footer (child template footer/footer_1.php) ---- */
.pisol-footer .footer-main { padding: 56px 0 32px; }
.pisol-footer-logo img { max-width: 220px; height: auto; margin-bottom: 16px; }
.pisol-footer p { color: #C9D3E3; font-size: 14px; line-height: 22px; }
.pisol-footer-legal { font-size: 12px; color: #8E9BB3; }
.pisol-footer .widget-title { font-size: 14px; letter-spacing: .12em; text-transform: uppercase; margin-bottom: 16px; }
.pisol-footer-menu, .pisol-footer-contact { list-style: none; margin: 0; padding: 0; }
.pisol-footer-menu li, .pisol-footer-contact li { margin: 0 0 8px; font-size: 14px; color: #C9D3E3; }
.pisol-footer-contact i { color: var(--pisol-amber); width: 18px; }
@media (max-width: 991px) { .pisol-footer .footer-main .col-md-6 { margin-bottom: 28px; } }

/* ---- Home ---- */
.pisol-hero { background: var(--pisol-navy) url() ; color: #fff; border-radius: var(--pisol-radius-lg); padding: clamp(32px, 6vw, 72px) clamp(20px, 5vw, 64px); margin: 0 0 48px; position: relative; overflow: hidden; }
.pisol-hero::after { content: ""; position: absolute; right: -80px; top: -60px; width: 420px; height: 420px; border-radius: 50%; border: 14px solid var(--pisol-orange); opacity: .35; }
.pisol-hero-text { max-width: 640px; position: relative; z-index: 1; }
.pisol-hero h1 { color: #fff; font-size: clamp(28px, 4vw, 44px); line-height: 1.1; margin: 8px 0 16px; }
.pisol-hero p { color: #C9D3E3; font-size: 17px; }
.pisol-eyebrow { color: var(--pisol-amber); font-family: "Poppins", sans-serif; font-size: 12px; letter-spacing: .16em; text-transform: uppercase; margin: 0; }
.pisol-btn { display: inline-block; margin-right: 16px; }
.pisol-link { color: var(--pisol-amber) !important; font-weight: 600; }
.pisol-section-title { font-size: 26px; margin: 48px 0 20px; }
.pisol-usp { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 24px; margin: 56px 0 24px; }
.pisol-usp > div { background: #fff; border: 1px solid var(--pisol-line); border-radius: var(--pisol-radius-md); padding: 20px; font-size: 14px; color: var(--pisol-ink-muted); }
.pisol-usp strong { color: var(--pisol-navy); font-family: "Poppins", sans-serif; font-size: 15px; }
.home .page-top, .home .breadcrumbs-wrapper { display: none; }

/* ---- Contact ---- */
.pisol-grid-2 { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 40px; margin-bottom: 40px; }
.pisol-contact-list { list-style: none; padding: 0; margin: 20px 0; }
.pisol-contact-list li { margin-bottom: 14px; }
.pisol-hours { width: 100%; max-width: 420px; border-collapse: collapse; }
.pisol-hours td { padding: 6px 0; border-bottom: 1px solid var(--pisol-line); font-size: 14px; }
.pisol-hours td:last-child { text-align: right; font-variant-numeric: tabular-nums; }
.pisol-map { border-radius: var(--pisol-radius-md); overflow: hidden; margin: 16px 0 24px; }
.pisol-legal-note { font-size: 12px; color: var(--pisol-ink-muted); }
.wpcf7 input[type=text], .wpcf7 input[type=email], .wpcf7 textarea { width: 100%; border: 1px solid var(--pisol-line); border-radius: var(--pisol-radius-sm); padding: 10px 12px; }
.wpcf7 label { display: block; margin-bottom: 14px; font-weight: 500; }

/* ---- Migrated Spectra pages: readable defaults ---- */
.uagb-icon-list__wrap > div { margin-bottom: 10px; }
.uagb-icon-list__source-wrap svg { width: 18px; height: 18px; vertical-align: middle; margin-right: 8px; fill: var(--pisol-orange); }
