/* GiyimVitrini storefront overlay for Bagisto 2.5.x — no framework rebuild required. */
:root { --gv-ink: #191a19; --gv-muted:#797b79; --gv-paper:#f8f7f4; --gv-line:#e7e6e0; --gv-chalk:#f1efe9; --gv-accent:#b77d59; }
html { scroll-behavior:smooth; }
body { color:var(--gv-ink); background:white; -webkit-font-smoothing:antialiased; }
body,button,input,select,textarea { font-family: 'Poppins',system-ui,-apple-system,sans-serif; }
a { transition:color .2s ease; }
a:focus-visible,button:focus-visible { outline:2px solid #b77d59; outline-offset:3px; }
.gv-wordmark { font-family: 'Poppins',sans-serif; display:inline-flex; align-items:baseline; white-space:nowrap; color:#191a19; text-decoration:none; font-size:25px; font-weight:800; letter-spacing:-1.8px; line-height:1.05; }
.gv-wordmark>span { font-weight:400; letter-spacing:-1.9px; }
.gv-wordmark>b { font-size:28px; font-weight:700; color:var(--gv-accent); }
.gv-wordmark-mobile { font-size:22px; }
.gv-wordmark-footer { font-size:29px; color:#fdfbf6; }
.gv-wordmark-footer>span { color:#fdfbf6; }
.gv-desktop-nav { display:flex; gap:clamp(16px,2.15vw,38px); align-items:center; padding-left:14px; }
.gv-desktop-nav a { color:#262726; font-weight:500; font-size:13px; white-space:nowrap; letter-spacing:.01em; }
.gv-desktop-nav a:hover { color:var(--gv-accent); }
#app > header,header { background:#fff; }
.gv-main { min-height:45vh; }
/* Header controls harmonize with the editorial storefront without altering their Vue handlers. */
header .icon-search, header .icon-shopping-bag,header .icon-users { color:var(--gv-ink); }
header #organic-search { background:#f7f7f5; border-radius:999px; min-width:205px; }
header #organic-search:focus { outline-color:var(--gv-accent); }
/* Base buttons retain Bagisto's disabled behavior and interactive logic. */
.gv-main .primary-button:not(:disabled),.gv-main .secondary-button:not(:disabled) { border-radius:5px; transition:background .2s,border-color .2s, transform .2s; }
.gv-main .primary-button:not(:disabled):hover,.gv-main .secondary-button:not(:disabled):hover { transform:translateY(-1px); }
.gv-main .secondary-button:not(:disabled) { background:#1e211e!important; color:#fff!important; border-color:#1e211e!important; }
.gv-main .secondary-button:disabled,.gv-main .primary-button:disabled { opacity:.42!important; cursor:not-allowed; }
/* Home: magazine-style editorial landing */
.gv-home { overflow:hidden; }
.gv-home h1,.gv-home h2,.gv-home h3 { color:var(--gv-ink); }
.gv-hero { display:grid; grid-template-columns: minmax(0,44%) minmax(0,56%); min-height:660px; max-width:1680px; margin:auto; background:#f5f3ed; }
.gv-hero-copy { position:relative; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; padding:70px clamp(28px,5.8vw,106px) 54px clamp(28px,6vw,115px); z-index:1; }
.gv-eyebrow,.gv-kicker { font-size:10px; letter-spacing:.22em; line-height:1.5; font-weight:700; text-transform:uppercase; }
.gv-eyebrow { display:flex; align-items:center; gap:12px; color:#565a58; }
.gv-eyebrow span { display:inline-block; width:28px; height:1px; background:var(--gv-accent); }
.gv-hero-copy h1 { margin:27px 0 22px; font-family:Georgia, 'Times New Roman',serif; font-size:clamp(58px,6.1vw,112px); line-height:.99; letter-spacing:-.055em; font-weight:400; }
.gv-hero-copy h1 em { font-style:italic; font-weight:400; color:var(--gv-accent); }
.gv-hero-copy>p { max-width:360px; font-size:13.5px; line-height:2; color:#77776f; margin:0 0 29px; }
.gv-hero-actions { display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.gv-btn { display:inline-flex; justify-content:center; align-items:center; gap:24px; padding:15px 21px; min-height:49px; font-weight:600; font-size:12px; letter-spacing:.02em; border:1px solid #252724; text-decoration:none; }
.gv-btn-dark { background:#222522; color:#fff!important; }
.gv-btn-dark:hover { background:#a8724f; border-color:#a8724f; }
.gv-btn-outline { background:transparent; color:#252724; }
.gv-btn-outline:hover { background:#fff; }
.gv-hero-marker { position:absolute; left:clamp(28px,6vw,115px); right:30px; bottom:32px; display:flex; align-items:center; gap:27px; color:#75776e; font-size:9px; letter-spacing:.16em; font-weight:600; }
.gv-hero-marker:before { content:''; width:55px; height:1px; background:#c2b5a9; }
.gv-hero-media { position:relative; min-height:660px; background:#e1ded6; overflow:hidden; }
.gv-hero-photo { overflow:hidden; position:absolute; box-shadow:0 18px 45px rgba(16,16,16,.08); }
.gv-hero-photo img { display:block; width:100%; height:100%; object-fit:contain; object-position:center; background:#e7e5df; }
.gv-hero-photo-main { width:68%; height:85%; top:5%; left:8%; background:#d3cbbf; }
.gv-hero-photo-side { width:39%; height:53%; right:4%; bottom:2%; border:7px solid #f5f3ed; background:#ddd8d0; }
.gv-hero-seal { position:absolute; right:4%; top:6%; width:90px; height:90px; border:1px solid rgba(29,29,29,.42); border-radius:50%; display:flex; flex-direction:column; align-items:center; justify-content:center; background:#f5f3ed; font-family:Georgia,serif; font-size:30px; line-height:1; font-style:italic; }
.gv-hero-seal span { font-style:normal; font-family:Poppins,sans-serif; font-size:8px; letter-spacing:.16em; margin-top:8px; }
.gv-rolling-strip { min-height:55px; background:#222520; color:#f7f5ef; display:flex; justify-content:space-around; align-items:center; flex-wrap:wrap; gap:18px; padding:12px 26px; font-size:10px; letter-spacing:.19em; font-weight:500; }
.gv-rolling-strip i { font-size:14px; font-style:normal; color:#b4866c; }
.gv-collection-section,.gv-products-section { width:min(1370px,100%); margin:0 auto; padding:100px 48px 20px; }
.gv-section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:38px; }
.gv-kicker { color:var(--gv-accent); }
.gv-section-heading h2 { font-family:Georgia,'Times New Roman',serif; font-weight:400; font-size:clamp(37px,4.5vw,60px); line-height:1.07; letter-spacing:-.045em; margin-top:12px; }
.gv-section-heading h2 em { color:#ad7456; font-weight:400; }
.gv-section-heading p { color:#91938c; font-size:13px; padding-bottom:7px; }
.gv-collections { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.gv-collection-card { display:block; color:var(--gv-ink); text-decoration:none; min-width:0; }
.gv-collection-photo { position:relative; height:410px; width:100%; background:#efeeeb; overflow:hidden; }
.gv-collection-photo img { display:block; width:100%; height:100%; object-fit:contain; object-position:center; transition:transform .55s ease; }
.gv-collection-card:hover .gv-collection-photo img { transform:scale(1.045); }
.gv-collection-label { display:flex; justify-content:space-between; gap:10px; align-items:center; padding:17px 2px 0; }
.gv-collection-label span { display:block; color:#a2a39c; font-size:9px; letter-spacing:.15em; margin-bottom:5px; }
.gv-collection-label h3 { font-family:Georgia,serif; font-size:27px; font-weight:400; margin:0; }
.gv-collection-label b { width:38px; height:38px; display:grid; place-items:center; border:1px solid var(--gv-line); border-radius:50%; font-size:18px; font-weight:400; }
.gv-collection-card:hover .gv-collection-label b { background:#232621;color:white; }
.gv-feature-panel { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:25px; margin:110px auto 0; padding:58px max(50px,calc((100% - 1270px) / 2)); background:#f3f0e9; }
.gv-feature-panel p { font-family:Georgia,serif; font-size:clamp(34px,3.65vw,57px); line-height:1.12; letter-spacing:-.04em; }
.gv-feature-panel em { color:var(--gv-accent); }
.gv-feature-panel a,.gv-text-link { font-size:13px; color:var(--gv-ink); padding-bottom:6px; border-bottom:1px solid #bbb1aa; }
.gv-feature-panel a:hover,.gv-text-link:hover { color:var(--gv-accent); }
.gv-products-section { padding-top:98px; padding-bottom:95px; }
.gv-products-section .container { max-width:100%; }
.gv-newsletter-brand { background:#232722; color:white; padding:70px max(40px,calc((100% - 1260px) / 2)); display:flex; align-items:flex-end; justify-content:space-between; gap:28px; }
.gv-newsletter-brand span { color:#b3a69b; letter-spacing:.24em; font-size:10px; }
.gv-newsletter-brand h2 { color:#fff; margin-top:15px; font-family:Georgia,serif; font-size:clamp(43px,4vw,64px); letter-spacing:-.045em; line-height:1.1; font-weight:400; }
.gv-newsletter-brand h2 em { color:#d1aa8d; }
.gv-newsletter-brand p { max-width:325px; color:#c2c4ba; font-size:13px; line-height:2; }
/* Product grid/cross-sells: prevent Bagisto 2.5 banner crop on paths without products/ */
.gv-product-card { border-radius:4px!important; background:#fff; box-shadow:none!important; }
.gv-product-card > div:first-child { max-height:none!important; aspect-ratio:3 / 4; border-radius:4px!important; background:#f2f1ee; }
.gv-product-card > div:first-child a { display:block; height:100%; }
.gv-product-card > div:first-child a img { object-fit:contain!important; object-position:center; width:100%!important; height:100%!important; }
.gv-product-card > div:first-child a >div { height:100%; }
.gv-product-card .action-items { background:transparent; }
.gv-product-card:hover { box-shadow:none!important; }
.gv-product-card p { line-height:1.6; }
/* Product detail: portrait photography and readable hierarchy. Original URLs avoid 1280x467 crops. */
.gv-product-image-stage { display:flex; align-items:center; justify-content:center; width:min(44vw,560px); min-height:580px; background:#f3f2ee; border-radius:5px; overflow:hidden; }
.gv-product-main-image { width:100%!important; min-width:0!important; max-width:100%!important; height:min(75vh,680px)!important; min-height:580px; object-fit:contain!important; object-position:center; background:#f3f2ee; border-radius:5px; }
v-product-gallery .sticky > .flex-24 img { object-fit:contain!important; width:100px!important; height:100px!important; background:#f3f2ee; border-radius:3px!important; }
.gv-mobile-product-img { object-fit:contain!important; aspect-ratio:3/4; background:#f3f2ee; }
v-product-gallery .shimmer { background:#f3f2ee!important; }
.gv-main h1 { line-height:1.2; letter-spacing:-.03em; }
.gv-main .gv-product-description { font-size:15px; line-height:1.95; color:#62665e; word-break:normal; }
.gv-main .icon-heart,.gv-main .icon-heart-fill { color:#111; }
/* Footer: no fake guarantees (delivery/returns should only be advertised when configured). */
.gv-footer { background:#1e231f; color:#eceae3; margin-top:0; }
.gv-footer-inner { width:min(1370px,100%); margin:auto; padding:75px 48px 64px; display:grid; grid-template-columns:1.6fr 1fr 1fr 1.35fr; gap:46px; }
.gv-footer-about p { max-width:290px; font-size:12px; line-height:2.05; color:#b7bdb5; margin-top:24px; }
.gv-footer-links,.gv-footer-note { display:flex; flex-direction:column; gap:15px; align-items:flex-start; }
.gv-footer h3 { color:#fff; font-size:13px; font-weight:600; margin:4px 0 12px; }
.gv-footer-links a { display:block; color:#b8bdb5; font-size:12px; text-decoration:none; }
.gv-footer-links a:hover { color:#e3bb9f; }
.gv-footer-note p { color:#b8bdb5; font-size:12px; line-height:2.05; }
.gv-footer-small { font-size:10px; color:#929a91; line-height:1.8; }
.gv-footer-bottom { border-top:1px solid #394039; width:min(1370px,100%); padding:19px 48px 23px; margin:auto; display:flex; gap:20px; justify-content:space-between; color:#aeb5aa; font-size:10px; letter-spacing:.04em; }
/* Small devices */
@media(max-width:1179px){ .gv-product-image-stage { width:100%; min-height:0; } .gv-product-main-image { min-height:0; height:auto!important; } }
@media(max-width:1100px){ .gv-hero { min-height:520px; } .gv-hero-media { min-height:520px; } .gv-hero-copy { padding-left:40px; } .gv-hero-marker { left:40px; } .gv-desktop-nav { gap:14px; } .gv-desktop-nav a { font-size:12px; } .gv-footer-inner { grid-template-columns:repeat(2,1fr); } }
@media(max-width:900px){ .gv-hero { grid-template-columns:1fr 1fr; } .gv-hero-copy h1 { font-size:62px; } .gv-hero-copy { padding:40px 25px; } .gv-hero-marker { position:static; margin-top:35px; } .gv-collection-section,.gv-products-section { padding:70px 28px 12px; } .gv-collection-photo { height:300px; } .gv-feature-panel { padding:50px 32px; margin-top:70px; } .gv-newsletter-brand { padding:60px 32px; } }
@media(max-width:767px){ .gv-hero { display:flex; flex-direction:column; } .gv-hero-copy { padding:47px 23px 35px; } .gv-hero-copy h1 { font-size:clamp(64px,12vw,83px); line-height:.99; margin:23px 0; } .gv-hero-copy>p { font-size:12px; margin-bottom:21px; } .gv-hero-marker { margin-top:35px; } .gv-hero-media { min-height:410px; } .gv-hero-photo-main { width:65%; height:90%; top:4%; left:5%; } .gv-hero-photo-side { right:4%; width:44%; height:54%; } .gv-rolling-strip { justify-content:center; gap:9px; font-size:8px; padding:13px 8px; } .gv-collection-section,.gv-products-section { padding:65px 18px 15px; } .gv-section-heading { align-items:flex-start; flex-direction:column; gap:14px; margin-bottom:24px; } .gv-section-heading h2 { font-size:43px; } .gv-section-heading p { font-size:12px; } .gv-collections { gap:11px; grid-template-columns:repeat(2,minmax(0,1fr)); } .gv-collection-photo { height:auto; aspect-ratio:3/4; } .gv-collection-card:nth-child(3) { grid-column:span 2; } .gv-collection-card:nth-child(3) .gv-collection-photo { height:370px; aspect-ratio:auto; } .gv-collection-label { align-items:flex-end; padding-top:12px; } .gv-collection-label h3 { font-size:22px; } .gv-collection-label b { width:30px; height:30px; } .gv-feature-panel { margin-top:65px; display:block; padding:46px 22px; } .gv-feature-panel p { font-size:38px; margin:23px 0; } .gv-newsletter-brand { flex-direction:column; align-items:flex-start; padding:52px 22px; } .gv-newsletter-brand h2 { font-size:47px; } .gv-products-section { padding-bottom:60px; } .gv-footer-inner { padding:51px 22px 45px; gap:37px 19px; } .gv-footer-about { grid-column:span 2; } .gv-footer-note { grid-column:span 2; } .gv-footer-bottom { padding:20px 22px; } .gv-mobile-product-img { width:100%; max-height:80vh!important; } }
@media(max-width:399px){ .gv-wordmark-mobile { font-size:20px; } .gv-hero-copy h1 { font-size:57px; } .gv-btn { width:100%; } .gv-hero-media { min-height:350px; } .gv-collection-label h3 { font-size:19px; } .gv-collection-card:nth-child(3) .gv-collection-photo { height:310px; } }
@media(prefers-reduced-motion:reduce){ html { scroll-behavior:auto; } .gv-home img,.gv-home a { transition:none!important; } }

.gv-drawer-categories { display:flex; flex-direction:column; padding:12px 20px; border-bottom:1px solid var(--gv-line); background:#f8f7f4; }
.gv-drawer-categories a { padding:14px 2px; color:var(--gv-ink); display:flex; justify-content:space-between; font-size:15px; font-weight:500; border-bottom:1px solid #e9e6e1; }
.gv-drawer-categories a:last-child { border-bottom:0; }
