/*
Theme Name: Hamsa
Author: Pertecnica / Hamsa
Version: 2.1.0
Description: Lightweight, performance-first, modular WordPress framework theme for the Pertecnica corporate engineering platform.
Text Domain: hamsa
*/

:root {
    --pt-black: #111111;
    --pt-black-soft: #1d1d1d;
    --pt-text: #252525;
    --pt-muted: #666666;
    --pt-gray-50: #fafaf9;
    --pt-gray-100: #f3f3f1;
    --pt-gray-200: #e5e5e2;
    --pt-gray-300: #d2d2ce;
    --pt-gray-500: #777771;
    --pt-gold: #b8944f;
    --pt-gold-dark: #8e6c2e;
    --pt-white: #ffffff;

    --pt-container: 1240px;
    --pt-content: 860px;
    --pt-sidebar: 300px;
    --pt-gutter: 32px;

    --pt-section-xs: 24px;
    --pt-section-sm: 48px;
    --pt-section-md: 72px;
    --pt-section-lg: 104px;

    --pt-body: 17px;
    --pt-body-line: 1.72;
    --pt-h1: 30px;
    --pt-h2: 26px;
    --pt-h3: 22px;

    --pt-radius: 2px;
    --pt-border: 1px solid var(--pt-gray-200);
    --pt-shadow: 0 10px 30px rgba(17,17,17,.06);
}

html { box-sizing: border-box; scroll-behavior: smooth; }
*, *::before, *::after { box-sizing: inherit; }

html, body { width:100%; min-height:100%; }

body {
    margin:0;
    background:var(--pt-white);
    color:var(--pt-text);
    font-family: Inter, "Helvetica Neue", "Segoe UI", Arial, sans-serif;
    font-size:var(--pt-body);
    line-height:var(--pt-body-line);
    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
}

img, svg, video, iframe { max-width:100%; }
img { height:auto; vertical-align:middle; }
figure { margin:0; }

a {
    color:var(--pt-black);
    text-decoration:none;
    transition:color .18s ease, background-color .18s ease, border-color .18s ease;
}
a:hover { color:var(--pt-gold-dark); }
:focus-visible { outline:2px solid var(--pt-gold); outline-offset:3px; }

::selection { background:var(--pt-gold); color:var(--pt-black); }

.site { width:100%; min-height:100vh; }
.hamsa-main, .hamsa-main-content, .hamsa-content-area { width:100%; min-width:0; }

.hamsa-container {
    width:min(var(--pt-container), calc(100% - 48px));
    margin-inline:auto;
}
.hamsa-content-container {
    width:min(var(--pt-content), 100%);
    margin-inline:auto;
}
.hamsa-full-width { width:100%; max-width:none; }

h1,h2,h3,h4,h5,h6 {
    margin-top:0;
    color:var(--pt-black);
    font-weight:600;
    letter-spacing:-.018em;
    text-wrap:balance;
}
h1 { margin-bottom:20px; font-size:var(--pt-h1); line-height:1.2; }
h2 { margin-bottom:18px; font-size:var(--pt-h2); line-height:1.25; }
h3 { margin-bottom:15px; font-size:var(--pt-h3); line-height:1.3; }
h4 { margin-bottom:12px; font-size:19px; line-height:1.35; font-weight:600; }
h5 { margin-bottom:10px; font-size:17px; line-height:1.4; font-weight:600; }
h6 { margin-bottom:8px; font-size:15px; line-height:1.4; font-weight:600; }

p { margin:0 0 18px; }
strong,b { font-weight:600; }
small { font-size:14px; }

ul,ol { margin:0 0 20px; padding-left:24px; }
li { margin-bottom:7px; }

hr {
    height:1px;
    margin:32px 0;
    border:0;
    background:var(--pt-gray-200);
}

blockquote {
    margin:28px 0;
    padding:18px 22px;
    border-left:2px solid var(--pt-gold);
    background:var(--pt-gray-50);
    color:var(--pt-muted);
}
blockquote p:last-child { margin-bottom:0; }

table {
    width:100%;
    margin:24px 0;
    border-collapse:collapse;
    font-size:15px;
}
th,td {
    padding:12px 14px;
    border:1px solid var(--pt-gray-200);
    text-align:left;
    vertical-align:top;
}
th { background:var(--pt-gray-100); color:var(--pt-black); font-weight:600; }

button,input,select,textarea { font:inherit; }
button,input[type=button],input[type=submit],input[type=reset] { cursor:pointer; }

.hamsa-button,
.wp-block-button__link {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:44px;
    padding:10px 22px;
    border:1px solid var(--pt-black);
    border-radius:var(--pt-radius);
    background:var(--pt-black);
    color:var(--pt-white);
    font-size:15px;
    font-weight:600;
    line-height:1.2;
    text-decoration:none;
}
.hamsa-button:hover,
.wp-block-button__link:hover {
    background:var(--pt-gold-dark);
    border-color:var(--pt-gold-dark);
    color:var(--pt-white);
}
.hamsa-button-secondary {
    background:var(--pt-white);
    border-color:var(--pt-gray-300);
    color:var(--pt-black);
}
.hamsa-button-secondary:hover {
    background:var(--pt-gray-100);
    border-color:var(--pt-black);
    color:var(--pt-black);
}

input,select,textarea {
    width:100%;
    max-width:100%;
    padding:10px 12px;
    border:1px solid var(--pt-gray-300);
    border-radius:var(--pt-radius);
    background:var(--pt-white);
    color:var(--pt-text);
    line-height:1.5;
}
input:focus,select:focus,textarea:focus {
    outline:none;
    border-color:var(--pt-gold);
    box-shadow:0 0 0 1px var(--pt-gold);
}
textarea { min-height:140px; resize:vertical; }
label { display:block; margin-bottom:7px; color:var(--pt-black); font-size:15px; font-weight:600; }

.entry-content, .hamsa-entry-content { color:var(--pt-text); }
.entry-content > *:last-child, .hamsa-entry-content > *:last-child { margin-bottom:0; }

.wp-caption { max-width:100%; }
.wp-caption-text { margin-top:8px; color:var(--pt-muted); font-size:14px; }

.wp-block-image { margin:0 0 28px; }
.wp-block-separator { height:1px; border:0; background:var(--pt-gray-200); }

.hamsa-content-area {
    display:grid;
    grid-template-columns:minmax(0,1fr);
    gap:var(--pt-gutter);
    align-items:start;
}
.hamsa-content-area.left-sidebar,
.hamsa-content-area.right-sidebar {
    grid-template-columns:minmax(0,1fr) var(--pt-sidebar);
}
.hamsa-content-area.left-sidebar { grid-template-areas:"sidebar content"; }
.hamsa-content-area.right-sidebar { grid-template-areas:"content sidebar"; }
.hamsa-content-area.no-sidebar { grid-template-areas:"content"; }
.hamsa-main-content { grid-area:content; }
.hamsa-content-area > .hamsa-sidebar { grid-area:sidebar; min-width:0; }

.hamsa-technical-label {
    display:inline-flex;
    align-items:center;
    gap:9px;
    margin:0 0 14px;
    color:var(--pt-gold-dark);
    font-size:12px;
    font-weight:600;
    letter-spacing:.14em;
    line-height:1.3;
    text-transform:uppercase;
}
.hamsa-technical-label::before {
    content:"";
    width:24px;
    height:1px;
    background:currentColor;
}

.hamsa-technical-rule {
    height:1px;
    width:100%;
    background:var(--pt-gray-200);
}
.hamsa-technical-rule.is-gold { background:var(--pt-gold); }

.hamsa-surface {
    background:var(--pt-white);
    border:1px solid var(--pt-gray-200);
}
.hamsa-surface-soft { background:var(--pt-gray-50); }

.hamsa-404 {
    min-height:56vh;
    display:flex;
    align-items:center;
    padding:var(--pt-section-lg) 0;
    background:var(--pt-gray-50);
}
.hamsa-404-inner { max-width:760px; margin:0 auto; text-align:center; }
.hamsa-404-code {
    margin:0 0 12px;
    color:var(--pt-gold-dark);
    font-size:12px;
    font-weight:600;
    letter-spacing:.18em;
}
.hamsa-404 h1 {
    margin-bottom:18px;
    font-size:clamp(30px,4vw,46px);
}
.hamsa-404-inner > p:not(.hamsa-404-code) {
    max-width:600px;
    margin:0 auto 28px;
    color:var(--pt-muted);
}

.screen-reader-text {
    position:absolute!important;
    width:1px; height:1px; padding:0; margin:-1px;
    overflow:hidden; clip:rect(0,0,0,0);
    white-space:nowrap; border:0;
}

@media (max-width:991px) {
    .hamsa-container { width:calc(100% - 40px); }
    .hamsa-content-area.left-sidebar,
    .hamsa-content-area.right-sidebar {
        grid-template-columns:1fr;
        grid-template-areas:"content" "sidebar";
        gap:40px;
    }
}
@media (max-width:767px) {
    .hamsa-container { width:calc(100% - 32px); }
    h1 { font-size:28px; }
    h2 { font-size:24px; }
    h3 { font-size:21px; }
    table { display:block; overflow-x:auto; -webkit-overflow-scrolling:touch; }
    th,td { white-space:nowrap; }
}
@media (max-width:480px) {
    .hamsa-container { width:calc(100% - 28px); }
    h1 { font-size:27px; }
    h2 { font-size:23px; }
    h3 { font-size:20px; }
}
@media (prefers-reduced-motion:reduce) {
    html { scroll-behavior:auto; }
    *,*::before,*::after { transition:none!important; animation:none!important; }
}
/*
 * Hamsa / Pertecnica Design System
 * Global foundation. Plugins should consume these tokens/classes.
 */
:root {
    --hamsa-black: #111111;
    --hamsa-black-soft: #1d1d1d;
    --hamsa-gold: #b8944f;
    --hamsa-gold-dark: #8e6c2e;
    --hamsa-white: #ffffff;
    --hamsa-gray-50: #fafaf9;
    --hamsa-gray-100: #f3f3f1;
    --hamsa-gray-200: #e5e5e2;
    --hamsa-gray-300: #d2d2ce;
    --hamsa-gray-500: #777771;
    --hamsa-gray-700: #444444;
    --hamsa-text: #252525;
    --hamsa-muted: #666666;
    --hamsa-border: #e5e5e2;
    --hamsa-container: 1240px;
    --hamsa-content: 860px;
    --hamsa-section-space: 104px;
    --hamsa-content-space: 32px;
    --hamsa-body-size: 17px;
    --hamsa-body-line: 1.72;
    --hamsa-h1: 30px;
    --hamsa-h2: 26px;
    --hamsa-h3: 22px;
}

.hamsa-container {
    width:min(var(--hamsa-container),calc(100% - 48px));
    margin-inline:auto;
}
.hamsa-content-container {
    width:min(var(--hamsa-content),100%);
    margin-inline:auto;
}

@media (max-width:991px) {
    :root { --hamsa-section-space:72px; }
    .hamsa-container { width:calc(100% - 40px); }
}
@media (max-width:767px) {
    :root { --hamsa-section-space:56px; }
    .hamsa-container { width:calc(100% - 32px); }
}
@media (max-width:480px) {
    :root { --hamsa-section-space:48px; }
    .hamsa-container { width:calc(100% - 28px); }
}
/* =========================================================
   HAMSA / PERTECNICA — EXECUTIVE HEADER
   ========================================================= */
.hamsa-site-header {
    position:relative;
    z-index:1000;
    background:rgba(255,255,255,.98);
    border-bottom:1px solid var(--pt-gray-200);
}
.hamsa-header-inner {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:40px;
    min-height:84px;
}
.hamsa-header-left {
    display:flex;
    align-items:center;
    min-width:0;
}
.hamsa-site-branding { display:flex; align-items:center; min-width:0; }
.hamsa-site-logo, .hamsa-site-logo a { display:block; }
.custom-logo {
    display:block;
    width:auto;
    max-width:210px;
    height:auto;
}
.site-title {
    color:var(--pt-black);
    font-size:26px;
    font-weight:600;
    line-height:1.1;
    letter-spacing:-.02em;
}
.site-title:hover { color:var(--pt-black); }
.hamsa-header-navigation {
    display:flex;
    align-items:center;
    margin-left:auto;
}
.hamsa-header-right {
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:12px;
}
.hamsa-header-right:empty { display:none; }

@media (max-width:1199px) {
    .hamsa-header-inner { gap:28px; min-height:80px; }
    .custom-logo { max-width:195px; }
}
@media (max-width:991px) {
    .hamsa-header-inner { min-height:74px; gap:20px; }
    .custom-logo { max-width:180px; }
}
@media (max-width:600px) {
    .hamsa-header-inner { min-height:68px; gap:14px; }
    .custom-logo { max-width:155px; }
    .site-title { font-size:22px; }
}
/* =========================================================
   HAMSA / PERTECNICA — RESPONSIVE FOUNDATION
   ========================================================= */
@media (max-width:991px) {
    .hamsa-site-header,
    .hamsa-header-inner,
    .hamsa-header-navigation,
    .hamsa-primary-nav { overflow:visible; }
}
@media (max-width:767px) {
    .hamsa-container { width:calc(100% - 32px); }
}
@media (max-width:480px) {
    .hamsa-container { width:calc(100% - 28px); }
}
/* =========================================================
   HAMSA / PERTECNICA — EXECUTIVE FOOTER
   CTA intentionally follows footer navigation/content.
   ========================================================= */
.site-footer {
    position:relative;
    background:var(--hamsa-white);
    color:var(--hamsa-text);
    overflow:hidden;
}
.hamsa-footer-main {
    position:relative;
    overflow:hidden;
    padding:72px 0 56px;
    background:var(--hamsa-gray-50);
}
.hamsa-footer-main::before {
    content:"";
    position:absolute;
    inset:0;
    background:url('../images/water-spill.svg') no-repeat right bottom;
    background-size:min(620px,48vw) auto;
    opacity:.025;
    pointer-events:none;
}
.hamsa-footer-watermark {
    position:absolute;
    right:28px;
    bottom:20px;
    width:130px;
    height:130px;
    background:url('../images/fevicon.svg') no-repeat center/contain;
    opacity:.025;
    pointer-events:none;
}
.hamsa-footer-grid {
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:1.15fr 1fr 1fr;
    gap:52px;
    max-width:var(--hamsa-container);
    margin:0 auto;
    padding:0 24px;
}
.hamsa-footer-column { min-width:0; }
.footer-brand img,.footer-brand .custom-logo { display:block; max-width:205px; width:auto; }
.hamsa-footer-description {
    max-width:380px;
    margin:18px 0 0;
    color:var(--hamsa-muted);
    font-size:15px;
    line-height:1.7;
}
.footer-heading {
    position:relative;
    margin:0 0 20px;
    color:var(--hamsa-black);
    font-size:17px;
    font-weight:600;
    line-height:1.3;
}
.footer-heading::after {
    content:"";
    display:block;
    width:28px;
    height:1px;
    margin-top:9px;
    background:var(--hamsa-gold);
}
.hamsa-footer-menu,
.hamsa-footer-links { margin:0; padding:0; list-style:none; }
.hamsa-footer-menu li,.hamsa-footer-links li { margin:0 0 8px; }
.hamsa-footer-menu a,.hamsa-footer-links a,.footer-contact-item {
    color:var(--hamsa-muted);
    font-size:14px;
    line-height:1.6;
}
.hamsa-footer-menu a:hover,.hamsa-footer-links a:hover { color:var(--hamsa-gold-dark); }

.footer-cta-wrap {
    grid-column:1 / -1;
    margin-top:4px;
    padding-top:30px;
    border-top:1px solid var(--hamsa-gray-200);
}
.footer-cta {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:44px;
    padding:10px 22px;
    border:1px solid var(--hamsa-black);
    border-radius:2px;
    background:var(--hamsa-black);
    color:var(--hamsa-white)!important;
    font-size:14px;
    font-weight:600;
}
.footer-cta:hover { background:var(--hamsa-gold-dark); border-color:var(--hamsa-gold-dark); }

.hamsa-footer-bottom {
    background:var(--hamsa-black);
    padding:16px 0;
}
.footer-bottom-wrap {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    width:min(var(--hamsa-container),calc(100% - 48px));
    margin:0 auto;
}
.footer-bottom-wrap p {
    margin:0;
    color:#cfcfcb;
    font-size:12px;
    line-height:1.5;
}
.footer-bottom-wrap a { color:inherit; }
.footer-bottom-wrap a:hover { color:var(--hamsa-gold); }

@media (max-width:991px) {
    .hamsa-footer-main { padding:60px 0 48px; }
    .hamsa-footer-grid { grid-template-columns:1fr 1fr; gap:42px 36px; }
    .footer-cta-wrap { grid-column:1 / -1; }
}
@media (max-width:767px) {
    .hamsa-footer-main { padding:48px 0 40px; }
    .hamsa-footer-grid { grid-template-columns:1fr; gap:32px; padding:0 20px; }
    .footer-cta-wrap { margin-top:0; }
    .footer-bottom-wrap { flex-direction:column; justify-content:center; text-align:center; gap:5px; width:calc(100% - 32px); }
}

/* =========================================================
   HAMSA 2.1 — SEO / CONTENT GRAPH UI
   ========================================================= */
.hamsa-breadcrumbs { width:min(var(--pt-container),calc(100% - 48px)); margin:0 auto 20px; padding-top:18px; color:var(--pt-muted); font-size:12px; line-height:1.4; }
.hamsa-breadcrumbs ol { display:flex; flex-wrap:wrap; margin:0; padding:0; list-style:none; }
.hamsa-breadcrumbs li { margin:0; }
.hamsa-breadcrumbs li + li::before { content:"/"; display:inline-block; margin:0 9px; color:var(--pt-gray-300); }
.hamsa-breadcrumbs a { color:var(--pt-muted); }
.hamsa-breadcrumbs a:hover { color:var(--pt-gold-dark); }
.hamsa-breadcrumbs [aria-current="page"] { color:var(--pt-text); }
.hamsa-related-content { margin-top:64px; padding-top:40px; border-top:1px solid var(--pt-gray-200); }
.hamsa-related-heading { margin-bottom:24px; }
.hamsa-related-heading h2 { margin-bottom:0; }
.hamsa-related-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.hamsa-related-card { min-width:0; border:1px solid var(--pt-gray-200); background:var(--pt-white); }
.hamsa-related-card a { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:72px; padding:16px 18px; }
.hamsa-related-card a:hover { background:var(--pt-gray-50); }
.hamsa-related-card-title { color:var(--pt-black); font-size:15px; font-weight:600; line-height:1.45; }
.hamsa-related-card-arrow { flex:0 0 auto; color:var(--pt-gold-dark); font-size:18px; }

/* Single-menu navigation: one DOM tree for desktop and mobile. */
.hamsa-responsive-navigation { position:relative; display:flex; align-items:center; width:100%; }
.hamsa-responsive-menu { display:flex; align-items:center; gap:28px; margin:0; padding:0; list-style:none; }
.hamsa-responsive-menu > li { position:relative; margin:0; padding:0; list-style:none; }
.hamsa-responsive-menu > li > a { position:relative; display:block; padding:10px 0; color:var(--pt-black); font-size:15px; font-weight:500; line-height:1.4; white-space:nowrap; }
.hamsa-responsive-menu > li > a::after { content:""; position:absolute; left:0; bottom:2px; width:0; height:1px; background:var(--pt-gold); transition:width .18s ease; }
.hamsa-responsive-menu > li:hover > a::after,.hamsa-responsive-menu > li:focus-within > a::after,.hamsa-responsive-menu > li.current-menu-item > a::after,.hamsa-responsive-menu > li.current-menu-ancestor > a::after { width:100%; }
.hamsa-responsive-menu > li > .sub-menu,.hamsa-responsive-menu .sub-menu .sub-menu { position:absolute; z-index:10001; min-width:250px; margin:0; padding:8px 0; list-style:none; background:var(--pt-white); border:1px solid var(--pt-gray-200); border-top:2px solid var(--pt-gold); box-shadow:0 14px 32px rgba(17,17,17,.08); opacity:0; visibility:hidden; pointer-events:none; transform:translateY(5px); transition:opacity .16s ease,visibility .16s ease,transform .16s ease; }
.hamsa-responsive-menu > li > .sub-menu { top:calc(100% + 8px); left:0; }
.hamsa-responsive-menu .sub-menu .sub-menu { top:-9px; left:100%; transform:translateX(5px); }
.hamsa-responsive-menu > li:hover > .sub-menu,.hamsa-responsive-menu > li:focus-within > .sub-menu,.hamsa-responsive-menu .sub-menu > li:hover > .sub-menu,.hamsa-responsive-menu .sub-menu > li:focus-within > .sub-menu { opacity:1; visibility:visible; pointer-events:auto; transform:translate(0); }
.hamsa-responsive-menu .sub-menu > li { position:relative; margin:0; padding:0; list-style:none; }
.hamsa-responsive-menu .sub-menu > li > a { display:block; padding:10px 18px; color:var(--pt-text); font-size:14px; font-weight:500; line-height:1.45; border-left:2px solid transparent; }
.hamsa-responsive-menu .sub-menu > li > a:hover,.hamsa-responsive-menu .sub-menu > li > a:focus { color:var(--pt-black); background:var(--pt-gray-50); border-left-color:var(--pt-gold); }
.hamsa-responsive-navigation .hamsa-menu-toggle { display:none; }
@media (max-width:1100px) { .hamsa-responsive-menu { gap:20px; } .hamsa-responsive-menu > li > a { font-size:14px; } }
@media (max-width:991px) {
    .hamsa-responsive-navigation { justify-content:flex-end; }
    .hamsa-responsive-navigation .hamsa-menu-toggle { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-width:78px; height:42px; padding:0 13px; border:1px solid var(--pt-gray-300); border-radius:2px; background:var(--pt-white); color:var(--pt-black); cursor:pointer; }
    .hamsa-responsive-navigation .hamsa-menu-toggle:hover,.hamsa-responsive-navigation .hamsa-menu-toggle:focus { border-color:var(--pt-black); background:var(--pt-gray-50); }
    .hamsa-responsive-navigation .hamsa-menu-toggle-icon { position:relative; flex:0 0 16px; width:16px; height:12px; font-size:0; }
    .hamsa-responsive-navigation .hamsa-menu-toggle-icon::before,.hamsa-responsive-navigation .hamsa-menu-toggle-icon::after,.hamsa-responsive-navigation .hamsa-menu-toggle-icon span { content:""; position:absolute; left:0; width:16px; height:1px; background:currentColor; }
    .hamsa-responsive-navigation .hamsa-menu-toggle-icon::before { top:0; }
    .hamsa-responsive-navigation .hamsa-menu-toggle-icon span { top:5px; }
    .hamsa-responsive-navigation .hamsa-menu-toggle-icon::after { top:10px; }
    .hamsa-responsive-navigation .hamsa-menu-toggle-label { display:inline-block; font-size:14px; font-weight:500; line-height:1; white-space:nowrap; }
    .hamsa-responsive-menu { position:absolute; top:calc(100% + 10px); right:0; z-index:10001; display:none; width:min(360px,calc(100vw - 28px)); margin:0; padding:8px 18px 12px; flex-direction:column; align-items:stretch; gap:0; background:var(--pt-white); border:1px solid var(--pt-gray-200); border-top:2px solid var(--pt-gold); box-shadow:0 18px 36px rgba(17,17,17,.10); }
    .hamsa-responsive-menu.is-open { display:flex; }
    .hamsa-responsive-menu > li { border-bottom:1px solid var(--pt-gray-200); }
    .hamsa-responsive-menu > li:last-child { border-bottom:0; }
    .hamsa-responsive-menu > li > a { padding:13px 34px 13px 0; font-size:16px; }
    .hamsa-responsive-menu .sub-menu { position:static; display:none; margin:0 0 10px; padding:0 0 0 14px; border:0; border-left:1px solid var(--pt-gold); box-shadow:none; opacity:1; visibility:visible; pointer-events:auto; transform:none; min-width:0; }
    .hamsa-responsive-menu li.submenu-open > .sub-menu { display:block; }
    .hamsa-responsive-menu .sub-menu > li > a { padding:9px 8px; color:var(--pt-muted); }
    .hamsa-responsive-menu .hamsa-mobile-submenu-toggle { position:absolute; top:8px; right:0; width:32px; height:32px; padding:0; border:0; background:transparent; color:var(--pt-muted); }
    .hamsa-responsive-menu .hamsa-mobile-submenu-toggle::before { content:"+"; font-size:18px; line-height:1; }
    .hamsa-responsive-menu .submenu-open > .hamsa-mobile-submenu-toggle::before { content:"−"; color:var(--pt-gold-dark); }
}
@media (max-width:767px) { .hamsa-breadcrumbs { width:calc(100% - 32px); padding-top:14px; } .hamsa-related-content { margin-top:48px; padding-top:32px; } .hamsa-related-grid { grid-template-columns:1fr; } }
@media (max-width:480px) { .hamsa-breadcrumbs { width:calc(100% - 28px); } }
