/* Original GIFTOS design, inspired by the information architecture of the
   supplied reference. No StarGift screenshots, images or reviews are reused. */
:root { --gfc-acid:#dfff00; --gfc-pink:#f16ac3; --gfc-ink:#151713; --gfc-blue:#edf9fb; --gfc-border:#dce4e5; }

/* Homepage: a real collection tile among the existing Best Sellers products. */
.gf.gf-products .gfc-category-card { min-width:0; }
.gf.gf-products .gfc-category-card .gf-product-image { display:block; overflow:hidden; border:1px solid #dfe4e6; border-radius:18px; background:#f7f4f2; }
.gf.gf-products .gfc-category-card .gf-product-image img { width:100%; height:auto; aspect-ratio:1/1.06; object-fit:cover; display:block; }
.gf.gf-products .gfc-category-card .gf-product-info { padding-top:12px; }
.gfc-category-label { display:block; margin-bottom:4px; font-size:10px; letter-spacing:.14em; font-weight:900; color:#537000; }
.gf.gf-products .gfc-category-card h3 { font-weight:800; line-height:1.15; }
.gfc-category-cta { display:inline-flex; margin-top:8px; text-decoration:underline; text-underline-offset:3px; font-size:12px; font-weight:800; }

/* Category listing: native WooCommerce product query and genuine prices. */
body.gfc-card-archive .site-content, body.gfc-card-archive .content-area { background:#f8f8f8; }
/* Woostify's unused widget-area is the source of the repeated placeholder
   paragraphs in the supplied screenshot. Hide it on this category only. */
body.gfc-card-archive #secondary.widget-area.shop-widget,
body.gfc-card-archive .site-content .widget-area.shop-widget { display:none!important; }
body.gfc-card-archive .site-content > .woostify-container { display:block!important; width:100%; max-width:1320px; margin-inline:auto; }
body.gfc-card-archive .site-content .content-area { float:none!important; width:100%!important; max-width:100%!important; flex:0 0 100%!important; margin-inline:auto; }
body.gfc-card-archive .site-content .site-main {
  box-sizing:border-box; display:grid; grid-template-columns:210px minmax(0,1fr);
  column-gap:26px; row-gap:15px; align-items:start;
  width:100%; max-width:1260px; margin:0 auto; padding:28px 18px 60px;
}
body.gfc-card-archive .woocommerce-no-products-found { width:100%; }
body.gfc-card-archive .woocommerce-no-products-found .woocommerce-info { display:none; }
.gfc-archive-heading h1 { margin:0 0 7px; color:#15212a; font-size:clamp(26px,2.8vw,36px); font-weight:850; line-height:1.15; letter-spacing:-.025em; }
.gfc-archive-heading p { max-width:820px; margin:0; color:#697889; font-size:14px; line-height:1.5; }
.gfc-empty-collection { display:flex; align-items:center; gap:24px; max-width:920px; margin:24px auto 48px; padding:30px; border:1px solid var(--gfc-border); border-radius:16px; background:#fff; }
.gfc-empty-spark { display:grid; place-items:center; flex:0 0 95px; width:95px; height:95px; border:2px solid #111; border-radius:100px; background:#f8d5ed; color:#111; font-size:56px; transform:rotate(-13deg); }
.gfc-empty-collection h2 { margin:7px 0 9px; font-size:clamp(22px,2.6vw,31px); font-weight:850; line-height:1.15; }
.gfc-empty-collection p { max-width:620px; color:#50616b; font-size:14px; line-height:1.55; }
.gfc-empty-shop-link { display:inline-flex; border-radius:8px; padding:12px 17px; background:#111; color:var(--gfc-acid)!important; font-size:13px; font-weight:850; text-decoration:none!important; }
.gfc-empty-collection .gfc-admin-only-note { border-top:1px solid #d8e0e2; margin-top:18px; padding-top:12px; font-size:12px; }
.gfc-admin-only-note a { color:#007b83; text-decoration:underline; }
body.gfc-card-archive .woocommerce-products-header { grid-column:2; grid-row:1; width:100%; min-width:0; max-width:none; margin:0; text-align:left; padding:0; }
body.gfc-card-archive .woocommerce-products-header__title { color:var(--gfc-ink); font-size:clamp(26px,3vw,36px); font-weight:850; letter-spacing:-.025em; }
.gfc-archive-filters { box-sizing:border-box; grid-column:1; grid-row:1 / span 3; position:sticky; top:20px; width:100%; min-width:0; margin:0; padding:14px 13px; border:1px solid var(--gfc-border); border-radius:3px; background:#fff; display:flex; flex-direction:column; align-items:stretch; gap:16px; }
.gfc-archive-filters fieldset { display:block; width:100%; min-width:0; padding:0; margin:0; border:0; }
.gfc-archive-filters fieldset + fieldset { border-top:1px solid #e4e9ec; padding-top:14px; }
.gfc-archive-filters legend { width:100%; padding:0 0 9px; margin:0 0 7px; border-bottom:1px solid #dce4e5; font-size:12px; font-weight:850; letter-spacing:.06em; text-transform:uppercase; color:#425a68; }
.gfc-filters-list { display:flex; flex-direction:column; gap:8px; }
.gfc-filters-list label { display:flex; align-items:center; gap:8px; min-height:20px; font-size:12px; line-height:1.25; cursor:pointer; }
.gfc-filters-list input { width:15px; height:15px; flex:none; margin:0; accent-color:#a5ca00; }
.gfc-filters-list span { display:inline; margin:0; padding:0; border:0; border-radius:0; }
.gfc-archive-filters button { width:100%; border:0; border-radius:5px; background:var(--gfc-acid); color:#111; font-weight:850; padding:11px 12px; cursor:pointer; }
.gfc-archive-filters > a { align-self:center; color:#425a68; font-size:12px; text-decoration:underline; text-underline-offset:2px; }
body.gfc-card-archive .woostify-sorting { grid-column:2; grid-row:2; min-width:0; width:100%; margin:0; display:flex; align-items:center; justify-content:space-between; gap:12px; }
body.gfc-card-archive .woocommerce-result-count { margin:0; color:#647485; font-size:12px; }
body.gfc-card-archive .woocommerce-ordering { margin:0 0 0 auto; }
body.gfc-card-archive .woocommerce-ordering select { max-width:230px; padding:10px 13px; border:1px solid #d7e1e5; border-radius:10px; background:#fff; color:#1c3540; font-size:12px; font-weight:750; }
body.gfc-card-archive .products { box-sizing:border-box; grid-column:2; grid-row:3; width:100%; min-width:0; margin:0; padding:0; display:grid!important; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
body.gfc-card-archive .products .product { float:none!important; clear:none!important; width:auto!important; max-width:none!important; min-width:0; margin:0!important; }
body.gfc-card-archive .woocommerce-no-products-found { grid-column:2; }
body.gfc-card-archive .products .product { background:#fff; border:1px solid var(--gfc-border); border-radius:14px; overflow:hidden; padding:8px; }
body.gfc-card-archive .products .product img { border-radius:10px; }
body.gfc-card-archive .products .product:has(.gfc-demo-view) { outline:1px solid #a6c500; }
.gfc-demo-view { background:#111!important; color:var(--gfc-acid)!important; border-radius:8px!important; font-size:12px!important; font-weight:850!important; }

/* ShopBuilder template 42 is directly within .elementor-42, not within
   .rtsb-vs-product. The old selector never matched the live template and
   Elementor stretched the product edge-to-edge in two equal flex columns. */
body.gfc-card-product { --gfc-page-width:1200px; }
body.gfc-card-product .elementor-42 > .elementor-element-1919888 {
  box-sizing:border-box!important; display:grid!important;
  grid-template-columns:minmax(0,1.28fr) minmax(0,.82fr)!important;
  align-items:start!important; gap:24px!important;
  width:100%!important; max-width:var(--gfc-page-width)!important;
  margin:0 auto!important; padding:20px 18px 10px!important;
  color:var(--gfc-ink);
}
body.gfc-card-product .elementor-42 > .elementor-element-1919888 > .elementor-element-c1f09c8,
body.gfc-card-product .elementor-42 > .elementor-element-1919888 > .elementor-element-ba98844 {
  box-sizing:border-box!important; min-width:0!important; max-width:none!important;
  width:100%!important; flex:none!important; align-self:start!important;
}
body.gfc-card-product .elementor-element-ba98844 > * { max-width:100%; }
body.gfc-card-product .elementor-element-ba98844 .rtsb-product-title,
body.gfc-card-product .elementor-element-ba98844 .product_title {
  color:#12212a; font-weight:850; font-size:clamp(21px,2.2vw,29px);
  line-height:1.18; letter-spacing:-.02em; overflow-wrap:break-word;
}
body.gfc-card-product .product_title { color:#12212a; font-weight:800; font-size:clamp(22px,2.1vw,31px); line-height:1.15; letter-spacing:-.015em; }
body.gfc-card-product .rtsb-product-price .price, body.gfc-card-product .price { font-weight:800; color:#101a22; }
body.gfc-card-product .rtsb-product-images, body.gfc-card-product .woocommerce-product-gallery { min-width:0; width:100%; }
body.gfc-card-product .product-vg-gallery { border-radius:14px; overflow:hidden; background:#e4f5f8; }
body.gfc-card-product .product-vg-gallery img { display:block; width:100%; object-fit:contain; }
body.gfc-card-product .rtsb-vg-thumb-slider .swiper-slide { cursor:pointer; }
body.gfc-card-product .rtsb-vg-thumb-slider img { border-radius:9px; border:2px solid transparent; object-fit:cover; }
body.gfc-card-product .rtsb-vg-thumb-slider .swiper-slide-thumb-active img { border-color:#00a3ad; }
body.gfc-card-product .rtsb-product-tabs { width:100%; }

/* Compact green pagination, synchronized with the genuine ShopBuilder gallery. */
.gfc-gallery-dots { display:flex; align-items:center; justify-content:center; gap:8px; margin:12px auto 8px; }
.gfc-gallery-dot { width:11px; height:11px; min-height:11px; padding:0; border:0; border-radius:50%; background:#c6d4a6; cursor:pointer; transition:background .15s,transform .15s; }
.gfc-gallery-dot.is-active { background:#83b000; transform:scale(1.16); }
.gfc-gallery-dot:focus-visible { outline:2px solid #111; outline-offset:3px; }

/* Review summary is next to the authentic WooCommerce price, not buried in
   the description. Demo review links explicitly identify simulated examples. */
.gfc-review-summary { box-sizing:border-box; display:flex; align-items:center; flex-wrap:wrap; gap:5px 8px; margin:1px 0 13px; padding:0; width:100%; font-size:12px; line-height:1.4; }
.gfc-review-stars { color:#699900; letter-spacing:1.3px; font-size:17px; line-height:1; }
.gfc-review-summary .gfc-review-link { color:#264b54; font-weight:650; text-decoration:underline; text-underline-offset:2px; }
.gfc-review-summary .gfc-review-link:hover { color:#5f8900; }

/* The existing detailed description sits immediately beneath the image at
   desktop sizes. The original document sequence is restored on mobile. */
.gfc-description-column.gfc-under-gallery { box-sizing:border-box; margin:13px 0 5px; padding:0 6px 0 0; width:100%; min-width:0; }
.gfc-description-column h2,.gfc-related-sidebar h2 { margin:0 0 13px; color:#12212a; font-size:clamp(20px,2vw,26px); font-weight:850; line-height:1.22; }
.gfc-description-column h3 { margin:0 0 8px; font-size:15px; font-weight:800; }
.gfc-description-column .woocommerce-Tabs-panel { margin:0 0 18px; }
.gfc-description-column .woocommerce-Tabs-panel h2:first-child { margin-top:0; }
.gfc-description-column .woocommerce-Tabs-panel p { margin:0 0 13px; }
.gfc-details-grid[hidden] { display:none!important; }
.gfc-related-sidebar { box-sizing:border-box; width:100%; min-width:0; }

/* One column of truthful services: use the installed Gemini endpoint,
   installed Woo shipping methods, and the existing Contact Form 7 form. */
.gfc-service-stack { box-sizing:border-box; display:grid; gap:15px; width:100%; min-width:0; margin:0 0 22px; font-family:Outfit,Poppins,Arial,sans-serif; }
.gfc-universal-shipping { margin:22px 0; }
.gfc-service-stack * { box-sizing:border-box; }
.gfc-ai-widget { width:100%; padding:13px 12px; border:1px solid #cfdfb0; border-radius:13px; background:#fbfff0; }
.gfc-ai-heading { margin:0 0 10px; font-size:12px; font-weight:750; color:#355c0c; line-height:1.45; }
.gfc-ai-heading span { color:#91bb00; font-size:17px; }
.gfc-ai-row { display:flex; align-items:stretch; gap:8px; }
.gfc-ai-context { min-width:0; flex:1 1 auto; width:65%; min-height:59px; resize:vertical; }
.gfc-ai-context,.gfc-ai-message { display:block; padding:9px 10px; border:1px solid #c8d5c0; border-radius:9px; color:#172215; background:#fff; font-family:inherit; font-size:12px; line-height:1.45; }
.gfc-ai-widget .gfc-ai-generate { flex:0 0 auto; align-self:center; max-width:38%; border:1px solid #90b400; border-radius:30px; padding:11px 12px; background:var(--gfc-acid); color:#111; font-size:12px; font-weight:900; cursor:pointer; }
.gfc-ai-widget .gfc-ai-generate:disabled,.gfc-shipping-form button:disabled { opacity:.55; cursor:wait; }
.gfc-ai-status { margin:8px 0 0; color:#375617; font-size:11px; line-height:1.5; }
.gfc-ai-status:empty { display:none; }
.gfc-ai-suggestions { margin:8px 0; }
.gfc-ai-suggestions[hidden] { display:none!important; }
.gfc-ai-suggestion { display:block; width:100%; text-align:left; margin:6px 0; padding:9px; border:1px solid #c7e39a; border-radius:8px; background:#f3ffd9; color:#26381e; font-size:11px; line-height:1.5; cursor:pointer; }
.gfc-ai-suggestion:hover { background:#e7ffbb; }
.gfc-ai-message-label { display:block; margin:12px 0 6px; color:#263525; font-size:11px; font-weight:750; }
.gfc-ai-message { width:100%; }
.gfc-ai-disclaimer { margin:8px 0 0; color:#647263; font-size:10px; line-height:1.45; }
.gfc-shipping-widget { min-width:0; padding:14px; border:1px solid #d5e5d4; border-radius:14px; background:#fff; }
.gfc-shipping-widget h3 { margin:0 0 8px; text-align:center; color:#1b3b17; font-weight:850; font-size:14px; }
.gfc-shipping-widget > p { margin:0 0 12px; font-size:11px; color:#536553; line-height:1.5; text-align:center; }
.gfc-shipping-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
.gfc-shipping-form label { min-width:0; display:flex; flex-direction:column; gap:5px; font-size:11px; font-weight:750; color:#31482d; }
.gfc-shipping-form label:first-child { grid-column:1/-1; }
.gfc-shipping-form label:last-of-type { grid-column:1/-1; }
.gfc-shipping-form :is(input,select) { width:100%; min-width:0; height:39px; margin:0; padding:7px 9px; background:#fff; border:1px solid #cbdacb; border-radius:8px; color:#192619; font-size:12px; }
.gfc-shipping-form button { grid-column:1/-1; width:100%; margin-top:1px; padding:11px 12px; border:0; border-radius:8px; color:#111; background:var(--gfc-acid); font-size:12px; font-weight:900; cursor:pointer; }
.gfc-shipping-results { margin:12px 0 0; padding:11px; background:#eef9ec; border:1px solid #d3e6d1; border-radius:9px; color:#365138; font-size:12px; line-height:1.5; }
.gfc-shipping-rate { display:flex; align-items:baseline; justify-content:space-between; gap:12px; padding:7px 2px; border-bottom:1px solid #d5e6d3; }
.gfc-shipping-rate:last-of-type { border-bottom:0; }
.gfc-shipping-rate strong { flex:0 0 auto; white-space:nowrap; color:#193b12; }
.gfc-shipping-rate span { min-width:0; overflow-wrap:anywhere; }
.gfc-shipping-results small,.gfc-shipping-widget > small { display:block; margin-top:9px; font-size:10px; line-height:1.5; color:#607161; }
.gfc-contact-widget { overflow:hidden; border:1px solid #d1e0d2; border-radius:13px; background:#fff; }
.gfc-contact-widget > summary { display:flex; flex-direction:column; align-items:center; gap:4px; padding:13px; list-style:none; color:#16371a; font-size:13px; font-weight:850; text-align:center; cursor:pointer; }
.gfc-contact-widget > summary::-webkit-details-marker { display:none; }
.gfc-contact-widget > summary span { font-size:11px; color:#627269; font-weight:400; }
.gfc-contact-widget[open] > summary { background:#f4ffdf; border-bottom:1px solid #dce8d3; }
.gfc-contact-content { padding:14px; }
.gfc-contact-content p { margin:0 0 9px; font-size:12px; line-height:1.5; }
.gfc-contact-content :is(input:not([type=submit]),textarea) { display:block; width:100%; max-width:100%; margin:5px 0 9px; padding:8px 9px; border:1px solid #cad8cb; border-radius:8px; font-size:12px; }
.gfc-contact-content input[type=submit] { display:inline-block; border:0; border-radius:8px; padding:11px 16px; background:var(--gfc-acid); color:#111; font-weight:800; cursor:pointer; }
.gfc-contact-content .wpcf7-response-output { margin:12px 0 0; font-size:11px; line-height:1.4; }
body.gfc-card-product .giftos-delivery { display:none!important; }

/* Envelope/format variations are drawn from the real WooCommerce select;
   choosing a card synchronizes with the product's stock/price logic. */
.gfc-option-group { border-top:1px solid var(--gfc-border); margin:17px 0; padding-top:14px; }
.gfc-option-group > legend { display:block; margin-bottom:10px; font-size:13px; font-weight:800; }
.gfc-mirrored-row { position:absolute!important; width:1px!important; height:1px!important; overflow:hidden!important; clip-path:inset(50%); }
.gfc-option-card { display:flex; align-items:center; gap:12px; border:1.5px solid var(--gfc-border); border-radius:12px; padding:12px; margin-bottom:9px; background:#fff; cursor:pointer; font-size:13px; transition:background .15s,border-color .15s; }
.gfc-option-card:has(input:checked) { background:#e4f8fa; border-color:#0097a4; }
.gfc-option-card input { accent-color:#0493a2; margin:0; }

/* The shared ShopBuilder template keeps the real WooCommerce cart, including
   variation availability and prices. The following appearance is limited to
   products in the greeting-card category, never to other product types. */
body.gfc-card-product:not(.gfc-demo-product) .elementor-element-ba98844 .elementor-widget-rtsb-product-add-to-cart {
  box-sizing:border-box; width:100%; margin:15px 0 18px; padding:17px 15px;
  border:1.5px solid #b2ce31; border-radius:14px; background:#fbffe9;
  color:#172215; font-family:Outfit,Poppins,Arial,sans-serif;
}
body.gfc-card-product:not(.gfc-demo-product) .elementor-widget-rtsb-product-add-to-cart::before {
  content:'PERSONALIZEAZĂ FELICITAREA'; display:inline-flex; align-items:center;
  max-width:100%; margin:0 0 12px; padding:7px 11px; border-radius:30px;
  background:#111; color:var(--gfc-acid); font-size:10px; font-weight:900;
  line-height:1.3; letter-spacing:.055em;
}
body.gfc-card-product:not(.gfc-demo-product) .elementor-widget-rtsb-product-add-to-cart .rtsb-product-add-to-cart,
body.gfc-card-product:not(.gfc-demo-product) .elementor-widget-rtsb-product-add-to-cart form.cart { width:100%; max-width:100%; min-width:0; }
body.gfc-card-product:not(.gfc-demo-product) form.variations_form table.variations {
  box-sizing:border-box; display:block; width:100%; margin:0 0 8px; border:0;
}
body.gfc-card-product:not(.gfc-demo-product) form.variations_form table.variations tbody,
body.gfc-card-product:not(.gfc-demo-product) form.variations_form table.variations tr {
  display:block; width:100%; height:auto;
}
body.gfc-card-product:not(.gfc-demo-product) form.variations_form table.variations :is(th,td) {
  box-sizing:border-box; display:block; width:100%; max-width:100%; height:auto;
  padding:0; border:0; text-align:left;
}
body.gfc-card-product:not(.gfc-demo-product) form.variations_form table.variations th.label {
  margin:0 0 9px; color:#23361c; font-size:12px; font-weight:800;
}
body.gfc-card-product:not(.gfc-demo-product) form.variations_form .rtsb-terms-wrapper {
  display:grid; grid-template-columns:minmax(0,1fr); gap:8px; width:100%;
  margin:0; padding:0;
}
body.gfc-card-product:not(.gfc-demo-product) form.variations_form .rtsb-terms-wrapper .rtsb-term {
  box-sizing:border-box; display:flex; align-items:center; gap:12px;
  width:100%; min-width:0; min-height:55px; margin:0; padding:12px 13px;
  border:1.5px solid #d6dfc1; border-radius:11px; background:#fff;
  color:#20301c; box-shadow:none; cursor:pointer; transition:background .15s,border-color .15s;
}
body.gfc-card-product:not(.gfc-demo-product) form.variations_form .rtsb-terms-wrapper .rtsb-term:has(input:checked),
body.gfc-card-product:not(.gfc-demo-product) form.variations_form .rtsb-terms-wrapper .rtsb-term.selected {
  background:#edffc0; border-color:#8aab11;
}
body.gfc-card-product:not(.gfc-demo-product) form.variations_form .rtsb-radio-button-term {
  display:inline-block; position:static; flex:0 0 16px; width:16px; height:16px;
  margin:0; opacity:1; accent-color:#7fa900;
}
body.gfc-card-product:not(.gfc-demo-product) form.variations_form .rtsb-terms-wrapper .rtsb-term label {
  flex:1 1 auto; display:block; width:auto; margin:0; padding:0;
  font-size:13px; font-weight:800; color:#20301c; line-height:1.4; cursor:pointer;
}
body.gfc-card-product:not(.gfc-demo-product) form.variations_form .reset_variations {
  display:inline-block; margin:9px 0 0; color:#516942; font-size:11px;
}
body.gfc-card-product:not(.gfc-demo-product) form.variations_form .gfc-option-group {
  margin:8px 0 14px; padding:0; border:0;
}
body.gfc-card-product:not(.gfc-demo-product) form.variations_form .gfc-option-card {
  width:100%; border-color:#d6dfc1;
}
body.gfc-card-product:not(.gfc-demo-product) form.variations_form .gfc-option-card:has(input:checked) {
  background:#edffc0; border-color:#8aab11;
}
body.gfc-card-product:not(.gfc-demo-product) .gfc-card-message-field {
  box-sizing:border-box; width:100%; margin:14px 0 15px; padding:13px 0;
  border-top:1px solid #dae6c9; border-bottom:1px solid #dae6c9;
}
body.gfc-card-product:not(.gfc-demo-product) .gfc-card-message-field label {
  display:block; margin:0 0 7px; color:#25371e; font-size:12px; font-weight:850;
}
body.gfc-card-product:not(.gfc-demo-product) .gfc-card-message-field label small { font-weight:500; }
body.gfc-card-product:not(.gfc-demo-product) .gfc-card-message-field textarea {
  box-sizing:border-box; display:block; width:100%; min-width:0; margin:0 0 6px;
  padding:11px; border:1px solid #c7d6bf; border-radius:9px; background:#fff;
  color:#142315; font:inherit; font-size:12px; line-height:1.5; resize:vertical;
}
body.gfc-card-product:not(.gfc-demo-product) .gfc-card-message-field > small,
.gfc-ai-order-note { display:block; color:#647263; font-size:10px; line-height:1.45; }
body.gfc-card-product:not(.gfc-demo-product) .rtsb-product-add-to-cart .single_add_to_cart_button {
  background:#111; color:#fff; border-radius:9px; font-weight:900;
}
body.gfc-card-product:not(.gfc-demo-product) .elementor-widget-rtsb-product-add-to-cart :is(.quantity,.variations_button) {
  max-width:100%;
}

/* The five original images are a demonstration of future GIFTOS cards.
   A prominent disclaimer stays visible on every screen size. */
body.gfc-demo-product .product-vg-gallery { position:relative; }
body.gfc-demo-product .product-vg-gallery::after {
  content:'DEMO'; position:absolute; z-index:10; top:14px; left:14px;
  padding:7px 13px; border:2px solid #111; border-radius:30px;
  background:var(--gfc-acid); color:#111; font-size:12px; font-weight:950;
  letter-spacing:.12em; pointer-events:none;
}
body.gfc-demo-product .single_add_to_cart_button { display:none!important; }
.gfc-demo-info { box-sizing:border-box!important; display:block!important; width:100%!important; max-width:100%!important; min-width:0!important; flex:0 0 100%!important; align-self:stretch; margin:16px 0 22px; padding:17px 16px; border:1.5px solid #b2ce31; border-radius:14px; background:#fbffe9; color:var(--gfc-ink); font-family:Outfit,Poppins,Arial,sans-serif; overflow-wrap:normal; word-break:normal; }
.gfc-demo-info, .gfc-demo-info * { writing-mode:horizontal-tb; }
.gfc-demo-info .gfc-option-card { width:100%; box-sizing:border-box; }
.gfc-demo-badge { display:inline-block; background:#111; color:var(--gfc-acid); padding:7px 11px; border-radius:30px; font-size:10px; font-weight:900; letter-spacing:.06em; }
.gfc-demo-lead { margin:11px 0 16px; font-size:12px; line-height:1.55; color:#384335; }
.gfc-demo-options { margin:0; border:0; padding:0; min-width:0; }
.gfc-demo-options legend { margin:0 0 10px; font-size:13px; color:#172215; font-weight:850; }
.gfc-demo-options legend small { color:#586449; font-size:11px; font-weight:500; }
.gfc-demo-options .gfc-option-card { background:#fff; margin-bottom:9px; padding:12px 10px; border-color:#d6dfc1; }
.gfc-demo-options .gfc-option-card:has(input:checked) { background:#edffc0; border-color:#8aab11; }
.gfc-demo-options .gfc-option-card input { accent-color:#7fa900; flex:0 0 auto; }
.gfc-demo-options .gfc-option-card > span { display:flex; flex-direction:column; gap:3px; }
.gfc-demo-options .gfc-option-card strong { font-size:13px; font-weight:850; }
.gfc-demo-options .gfc-option-card small { font-size:11px; color:#677367; }
.gfc-demo-options .gfc-option-card b { font-size:12px; }
.gfc-demo-preview-price { margin:13px 0 12px; display:flex; align-items:center; justify-content:space-between; font-size:13px; }
.gfc-demo-preview-price output { font-weight:900; font-size:17px; }
.gfc-demo-unavailable { display:block; text-align:center; background:#111; color:#fff; border-radius:9px; padding:12px; font-size:12px; font-weight:800; line-height:1.4; }
.gfc-demo-ai-note { margin:11px 0 0; color:#576050; font-size:11px; line-height:1.5; }
/* Remove the template's fake urgency counter, stock and unreadable rating
   only on this explicitly fictional non-orderable item. */
body.gfc-demo-product .elementor-widget-rtsb-product-rating,
body.gfc-demo-product .elementor-widget-rtsb-product-stock,
body.gfc-demo-product .elementor-widget-rtsb-product-onsale,
body.gfc-demo-product .sales-badge { display:none!important; }

/* Preserve the actual GIFTOS personalisation form, AI key integration,
   preview button, cart form and delivery/contact plugin output. */
body.gfc-card-product .giftos-personalizare { padding:8px 0 0; }
body.gfc-card-product .giftos-personalizare input[type=text],
body.gfc-card-product .giftos-personalizare textarea { border:1px solid var(--gfc-border); border-radius:9px; }
body.gfc-card-product .giftos-ai-row { display:flex; align-items:center; gap:8px; }
body.gfc-card-product .giftos-ai-button { background:var(--gfc-acid) !important; border:2px solid #b5d900 !important; border-radius:100px !important; box-shadow:0 3px 0 #a4c300; font-weight:800; white-space:nowrap; }
.gfc-personalize-cta { display:flex; align-items:center; justify-content:center; min-height:45px; padding:12px 20px; margin:14px 0 12px; border-radius:9px; background:#85b734; color:#fff!important; font-size:14px; font-weight:800; text-decoration:none!important; cursor:pointer; transition:filter .2s; }
.gfc-personalize-cta:hover { filter:brightness(.93); }
body.gfc-card-product .giftos-delivery { margin-top:18px; padding:12px 14px; border:1px solid var(--gfc-border); border-radius:12px; background:#fff; }
body.gfc-card-product .giftos-delivery h3 { margin:7px 0 8px; font-size:14px; font-weight:750; color:#12212a; text-align:center; }
body.gfc-card-product .giftos-delivery-content { padding:12px; margin:0 0 12px; border:1px solid #d5ebef; border-radius:9px; background:#e9f8fa; color:#3f5360; font-size:12px; line-height:1.45; text-align:center; }

/* StarGift-like information order: description & reviews on the left,
   genuinely related products on the right, then visited and popular rows. */
.gfc-after-product { clear:both; width:100%; max-width:var(--gfc-page-width,1260px); margin:26px auto 65px; padding:0 16px; font-family:Outfit,Poppins,Arial,sans-serif; color:var(--gfc-ink); }
.gfc-after-product * { box-sizing:border-box; }
.gfc-details-grid { display:grid; grid-template-columns:minmax(0,2.05fr) minmax(275px,1fr); align-items:start; gap:30px; }
.gfc-description-column { min-width:0; }
.gfc-after-product h2 { margin:0 0 16px; color:#12212a; font-size:clamp(20px,2vw,27px); font-weight:800; letter-spacing:-.02em; line-height:1.2; }
.gfc-after-product h3 { margin:0 0 8px; font-size:15px; font-weight:750; }
.gfc-howto { padding:16px 0 24px; border-top:1px solid var(--gfc-border); }
.gfc-howto-grid { display:grid; gap:17px; }
.gfc-howto p,.gfc-howto li { color:#455968; font-size:13px; line-height:1.55; }
.gfc-howto ol { padding-left:19px; }
.gfc-related-sidebar { padding:0 0 18px; }
.gfc-card-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.gfc-mini-card { min-width:0; overflow:hidden; padding:7px; background:#fff; border:1px solid var(--gfc-border); border-radius:12px; }
.gfc-mini-card a { display:block; color:inherit; text-decoration:none; }
.gfc-mini-card img { display:block; aspect-ratio:1/1; width:100%; height:auto; object-fit:cover; border-radius:8px; background:#edf4f6; }
.gfc-mini-title { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; margin-top:9px; min-height:34px; font-size:12px; line-height:1.4; }
.gfc-mini-price { display:block; margin-top:4px; font-size:13px; font-weight:800; color:#102434; }
.gfc-mini-price del { color:#9ca6ab; font-size:11px; }
.gfc-recent,.gfc-popular { margin-top:38px; }
.gfc-recent h2,.gfc-popular h2 { text-align:center; }
.gfc-recent .gfc-card-list { grid-template-columns:repeat(5,minmax(0,1fr)); }
.gfc-popular .gfc-card-list { display:flex; overflow-x:auto; gap:14px; padding:4px 2px 13px; scroll-snap-type:x mandatory; }
.gfc-popular .gfc-mini-card { flex:0 0 clamp(160px,18vw,210px); scroll-snap-align:start; }

/* Move the existing WooCommerce tabs, not a copied or fabricated review list. */
body.gfc-card-product .gfc-description-column .woocommerce-tabs { margin:0 0 23px; }
body.gfc-card-product .gfc-description-column .woocommerce-tabs ul.tabs { display:flex; flex-wrap:wrap; gap:8px; border-bottom:1px solid var(--gfc-border); margin-bottom:17px; }
body.gfc-card-product .gfc-description-column .woocommerce-tabs ul.tabs li { border:0; background:transparent; }
body.gfc-card-product .gfc-description-column .woocommerce-tabs ul.tabs a { color:#1d303f; font-weight:800; }
body.gfc-card-product .gfc-description-column .woocommerce-Tabs-panel { font-size:13px; line-height:1.6; color:#405361; }
body.gfc-card-product .gfc-description-column #reviews .commentlist { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; padding:0; }
body.gfc-card-product .gfc-description-column #reviews .commentlist li { border:1px solid var(--gfc-border); border-radius:12px; padding:13px; background:#fff; }
body.gfc-card-product .gfc-description-column #reviews .commentlist:empty { display:none; }
.gfc-demo-reviews { margin-top:24px; padding:22px 0; border-top:1px solid var(--gfc-border); }
.gfc-demo-reviews-heading { display:flex; gap:16px; align-items:flex-start; justify-content:space-between; margin-bottom:18px; }
.gfc-demo-reviews-heading h2 { margin:0 0 8px; }
.gfc-demo-reviews-heading p { max-width:620px; margin:0; color:#4e5a60; font-size:12px; line-height:1.55; }
.gfc-demo-review-label { display:inline-block; flex:0 0 auto; margin-top:5px; border:1px solid #d2ae00; border-radius:24px; background:#fff1a7; color:#4e4300; font-size:9px; font-weight:950; padding:7px 10px; letter-spacing:.04em; }
.gfc-demo-reviews-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.gfc-demo-review { padding:15px; border:1px solid #d5e0e2; border-radius:12px; background:#fff; }
.gfc-demo-review-top { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:5px; margin-bottom:9px; }
.gfc-demo-review-top strong { font-size:12px; }
.gfc-demo-review-top span { color:#eeab08; font-size:15px; letter-spacing:1px; }
.gfc-demo-review h3 { margin:0 0 7px; font-size:13px; }
.gfc-demo-review p { margin:0 0 11px; font-size:12px; line-height:1.55; color:#52636a; }
.gfc-demo-review small { display:block; padding-top:9px; border-top:1px solid #eef0f0; font-size:10px; color:#7a858b; }

@media (min-width:900px) {
  body.gfc-card-product .rtsb-vg-main-slider-wrapper { display:grid!important; grid-template-columns:80px minmax(0,1fr); gap:13px; align-items:start; }
  body.gfc-card-product .rtsb-vg-main-slider-wrapper > .rtsb-vg-thumb-slider { grid-column:1; grid-row:1; overflow-y:auto; max-height:595px; width:80px; }
  body.gfc-card-product .rtsb-vg-thumb-slider .swiper-wrapper { display:flex!important; flex-direction:column!important; gap:8px; transform:none!important; }
  body.gfc-card-product .rtsb-vg-thumb-slider .swiper-slide { width:100%!important; height:auto!important; margin:0!important; }
  body.gfc-card-product .rtsb-vg-main-slider-wrapper > .product-vg-gallery { grid-column:2; grid-row:1; }
}
@media (max-width:1040px) {
  body.gfc-card-archive .products { grid-template-columns:repeat(3,minmax(0,1fr)); }
  body.gfc-card-product .elementor-42 > .elementor-element-1919888 { grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)!important; gap:18px!important; padding-inline:16px!important; }
  .gfc-details-grid { grid-template-columns:minmax(0,1.5fr) minmax(260px,1fr); gap:18px; }
}
@media (max-width:899px) {
  body.gfc-card-archive .site-content .site-main { grid-template-columns:1fr; gap:16px; padding:18px 14px 50px; }
  body.gfc-card-archive .woocommerce-products-header { grid-column:1; grid-row:1; }
  .gfc-archive-filters { grid-column:1; grid-row:2; position:static; padding:14px; }
  .gfc-filters-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  body.gfc-card-archive .woostify-sorting { grid-column:1; grid-row:3; }
  body.gfc-card-archive .products { grid-column:1; grid-row:4; grid-template-columns:repeat(2,minmax(0,1fr)); }
  body.gfc-card-archive .woocommerce-no-products-found { grid-column:1; }
  body.gfc-card-product .elementor-42 > .elementor-element-1919888 { grid-template-columns:minmax(0,1fr)!important; gap:18px!important; max-width:760px!important; padding:16px 20px!important; }
  .gfc-details-grid { grid-template-columns:1fr; }
  .gfc-card-list { grid-template-columns:repeat(3,minmax(0,1fr)); }
  body.gfc-card-product .elementor-element-ba98844 .rtsb-product-title { font-size:clamp(22px,3.6vw,29px); }
}
@media (max-width:560px) {
  body.gfc-card-archive .woocommerce-ordering select { max-width:170px; }
  body.gfc-card-archive .products { gap:10px; }
  .gfc-filters-list { gap:10px 7px; }
  .gfc-empty-collection { flex-direction:column; align-items:flex-start; padding:20px; }
  .gfc-empty-spark { width:65px; height:65px; flex-basis:65px; font-size:37px; }
  .gfc-after-product { padding-inline:12px; }
  .gfc-card-list,.gfc-recent .gfc-card-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .gfc-popular .gfc-mini-card { flex-basis:160px; }
  body.gfc-card-product .gfc-description-column #reviews .commentlist { grid-template-columns:1fr; }
  body.gfc-card-product .elementor-42 > .elementor-element-1919888 { padding:12px 12px 20px!important; }
  body.gfc-card-product .rtsb-vg-main-slider-wrapper { min-width:0; width:100%; }
  body.gfc-card-product .rtsb-vg-main-slider-wrapper .product-vg-gallery { width:100%; }
  body.gfc-card-product .elementor-element-ba98844 > * { min-width:0; }
  .gfc-demo-info { padding:15px 12px; }
  .gfc-demo-reviews { padding-top:16px; }
  .gfc-demo-badge { font-size:9px; }
  .gfc-demo-reviews-grid { grid-template-columns:1fr; }
  .gfc-demo-reviews-heading { flex-direction:column; gap:8px; }
}
@media (max-width:430px) {
  .gfc-ai-row { flex-direction:column; }
  .gfc-ai-context { width:100%; }
  .gfc-ai-widget .gfc-ai-generate { width:100%; max-width:none; }
  .gfc-shipping-widget { padding:11px; }
  .gfc-shipping-form { grid-template-columns:1fr; }
}

