/* =========================================================
   FELORA — WordPress + WooCommerce skin (on top of design.css)
   ========================================================= */

/* a11y */
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
.skip-link{position:absolute;inset-inline-start:-9999px;z-index:100}
.skip-link:focus{inset-inline-start:12px;top:12px;background:var(--ink);color:#fff;padding:10px 16px;border-radius:8px}
.site-content{min-height:40vh}

/* ---- header extras ---- */
.brand .custom-logo-link{display:inline-flex;align-items:center}
.brand .custom-logo{max-height:44px;width:auto;display:block}
.brand-fallback{display:flex;align-items:center;gap:11px;color:var(--ink)}
.nav .nav-menu{list-style:none;margin:0;padding:0;display:flex;gap:2px;align-items:center}
.nav .nav-menu li{position:relative}
.nav .nav-menu a{display:block;padding:9px 15px;font-size:var(--fs-sm);font-weight:600;color:var(--text);border-radius:var(--r-pill);transition:var(--dur)}
.nav .nav-menu a:hover,.nav .nav-menu .current-menu-item>a{background:var(--wash);color:var(--accent)}
/* dropdown */
.nav .nav-menu ul.sub-menu{position:absolute;top:100%;inset-inline-start:0;min-width:200px;background:var(--surface);
  border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh-lg);padding:8px;display:none;z-index:50}
.nav .nav-menu li:hover>ul.sub-menu{display:block}
.nav .nav-menu ul.sub-menu a{border-radius:8px}

/* announcement bar */
.felora-announce{background:var(--ink);color:#dfe6f0;font-size:var(--fs-cap)}
.felora-announce .container{display:flex;align-items:center;justify-content:center;gap:26px;height:40px;flex-wrap:wrap;overflow:hidden}
.felora-announce span{white-space:nowrap;letter-spacing:.02em}

/* search dropdown */
.felora-search{max-height:0;overflow:hidden;transition:max-height var(--dur) var(--ease);border-top:0 solid var(--line)}
.felora-search.open{max-height:120px;border-top:1px solid var(--line)}
.felora-search .container{padding-block:16px}
.felora-search form{display:flex;gap:10px}
.felora-search input[type=search],.felora-search .search-field{flex:1;font-family:inherit;font-size:var(--fs-body);
  background:var(--surface);border:1px solid var(--line-2);border-radius:var(--r-pill);padding:13px 20px;min-height:50px;color:var(--text)}
.felora-search input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px var(--ring)}
.felora-search button{border:0;background:var(--grad);color:#fff;border-radius:var(--r-pill);padding:0 24px;font-family:inherit;font-weight:700;cursor:pointer}

/* drawer menu list */
.drawer-menu{list-style:none;margin:0;padding:0}
.drawer-menu a{display:block;padding:14px 8px;font-weight:600;border-bottom:1px solid var(--line);color:var(--text)}
.drawer-menu .sub-menu{list-style:none;margin:0;padding-inline-start:14px}

/* ---- page hero (archives/search/404) ---- */
.page-hero{background:var(--wash);border-bottom:1px solid var(--line)}
.page-hero .container{padding-block:var(--s-16) var(--s-12)}
.page-hero .over{margin-bottom:14px}
.page-hero h1{font-size:var(--fs-h2)}
.page-hero .crumbs,.woocommerce-breadcrumb{font-size:var(--fs-sm);color:var(--muted);margin-bottom:14px}
.page-hero .crumbs a,.woocommerce-breadcrumb a{color:var(--accent)}
.page-hero p{color:var(--muted);margin-top:10px;max-width:60ch}

/* ---- blog grids/cards ---- */
.felora-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
@media(max-width:820px){.felora-grid{grid-template-columns:1fr}}
.bc .b .meta{font-size:var(--fs-cap);color:var(--faint);margin-top:10px;display:flex;gap:12px;flex-wrap:wrap}
.bc .b .ex{font-size:var(--fs-sm);color:var(--muted);margin-top:10px;line-height:1.8}
.felora-card-img{aspect-ratio:16/10;width:100%;object-fit:cover;display:block}

/* ---- pagination ---- */
.felora-pagination{margin-top:48px}
.felora-pagination .nav-links{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}
.felora-pagination .page-numbers{min-width:44px;height:44px;display:grid;place-items:center;padding:0 8px;border-radius:var(--r);
  border:1px solid var(--line-2);font-weight:700;font-size:var(--fs-sm);color:var(--text);background:var(--surface)}
.felora-pagination .page-numbers.current{background:var(--grad);border-color:transparent;color:#fff}
.felora-pagination a.page-numbers:hover{border-color:var(--accent);color:var(--accent)}

/* ---- entry content typography ---- */
.entry-content{max-width:760px;margin-inline:auto;font-size:1.05rem;color:var(--text)}
.entry-content > *{margin-bottom:1.2em}
.entry-content h2{font-size:1.7rem;margin:1.6em 0 .6em}
.entry-content h3{font-size:1.35rem;margin:1.4em 0 .5em}
.entry-content a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.entry-content img,.entry-content figure{border-radius:var(--r);max-width:100%;height:auto}
.entry-content ul,.entry-content ol{padding-inline-start:1.4em}
.entry-content li{margin-bottom:.5em}
.entry-content blockquote{border-inline-start:3px solid var(--accent);background:var(--wash);margin:1.4em 0;
  padding:16px 22px;border-radius:0 var(--r) var(--r) 0;color:var(--muted)}
.entry-content pre{background:var(--ink);color:#eaf1fb;padding:18px;border-radius:var(--r);overflow:auto;direction:ltr}
.entry-content code{background:var(--wash-2);padding:2px 6px;border-radius:6px;direction:ltr}
.entry-content .alignwide{width:min(1100px,92vw);margin-inline:calc(50% - min(550px,46vw));max-width:none}
.entry-content .alignfull{width:100vw;margin-inline:calc(50% - 50vw);max-width:none}
.wp-caption-text,.wp-element-caption{font-size:var(--fs-cap);color:var(--faint);text-align:center;margin-top:8px}
.entry-header{max-width:760px;margin:0 auto 32px}
.entry-header .meta{font-size:var(--fs-sm);color:var(--muted);margin-top:12px;display:flex;gap:16px;flex-wrap:wrap}
.entry-header .over{margin-bottom:14px}
.post-cover{aspect-ratio:21/9;border-radius:var(--r-lg);overflow:hidden;margin-bottom:36px;position:relative}
.post-cover img,.post-cover i{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.entry-tags{max-width:760px;margin:36px auto 0;display:flex;gap:8px;flex-wrap:wrap}

/* ---- comments ---- */
.comments-area{max-width:760px;margin:56px auto 0}
.comments-area .comment-list{list-style:none;padding:0;margin:0}
.comments-area .comment-body{padding:18px 0;border-bottom:1px solid var(--line)}
.comments-area .comment-author{font-weight:700;color:var(--ink)}
.comment-form input,.comment-form textarea{width:100%;font-family:inherit;background:var(--surface);border:1px solid var(--line-2);
  border-radius:var(--r);padding:13px 15px;color:var(--text);margin-top:6px}
.comment-form input:focus,.comment-form textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px var(--ring)}
.comment-form p{margin-bottom:14px}

/* ---- consult form / notes ---- */
.felora-consult{display:flex;flex-direction:column;gap:12px}
.felora-consult .row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.felora-note{border-radius:var(--r);padding:12px 16px;font-size:var(--fs-sm)}
.felora-note.ok{background:#e7f6ec;border:1px solid #b8e2c6;color:#276a3c}
[data-theme=dark] .felora-note.ok{background:#12251a;border-color:#265637;color:#8fe0aa}

/* ---- 404 / no results ---- */
.felora-404{text-align:center;padding-block:var(--s-24)}
.felora-404 .big{font-size:clamp(5rem,18vw,10rem);font-weight:800;letter-spacing:-.04em;line-height:.9}
.felora-404 p{color:var(--muted);margin:16px auto 28px;max-width:44ch}
.felora-empty{padding:48px;text-align:center;color:var(--muted);background:var(--wash);border:1px solid var(--line);border-radius:var(--r-lg)}

/* ---- landing template ---- */
.felora-landing .site-content{padding:0}
.felora-landing .entry-content{max-width:none;margin:0}

/* =========================================================
   WooCommerce
   ========================================================= */
.woocommerce .container.felora-shop{padding-top:var(--s-12);padding-bottom:var(--s-20)}
.woocommerce-result-count{color:var(--muted);font-size:var(--fs-sm);margin:0}
.woocommerce-ordering select,.felora-tools select{font-family:inherit;background:var(--surface);border:1px solid var(--line-2);
  border-radius:var(--r-pill);padding:10px 18px;color:var(--text);min-height:44px}
.felora-shop-tools{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:28px;flex-wrap:wrap}

/* product grid (archive) */
.felora-prodgrid,.woocommerce ul.products{display:grid!important;grid-template-columns:repeat(4,1fr);gap:24px;margin:0;padding:0;list-style:none}
@media(max-width:1000px){.felora-prodgrid,.woocommerce ul.products{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.felora-prodgrid,.woocommerce ul.products{grid-template-columns:repeat(2,1fr)}}
@media(max-width:440px){.felora-prodgrid,.woocommerce ul.products{grid-template-columns:1fr}}
.woocommerce ul.products li.product{margin:0!important;width:auto!important;float:none!important}
/* archive cards use .pcard (from design.css); price html inside */
.pcard .pr del{color:var(--faint);font-weight:500;font-size:var(--fs-sm);margin-inline-end:6px}
.pcard .pr ins{text-decoration:none}

/* buttons */
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit,
.woocommerce .button.alt,.woocommerce #place_order,.woocommerce button.button.alt{
  background:var(--grad)!important;color:#fff!important;border:0!important;border-radius:var(--r-pill)!important;
  font-family:inherit!important;font-weight:700!important;padding:14px 26px!important;min-height:50px;
  box-shadow:0 8px 22px rgba(37,99,235,.28);transition:transform var(--dur),box-shadow var(--dur)}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce .button.alt:hover{transform:translateY(-2px);box-shadow:0 14px 32px rgba(37,99,235,.36)}
.woocommerce .button.added::after{margin-inline-start:8px}

/* price / rating */
.woocommerce .price,.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--ink);font-weight:800}
.woocommerce .price del{color:var(--faint);font-weight:500}
.woocommerce .star-rating span,.star-rating span{color:#f4b740}

/* notices */
.woocommerce-message,.woocommerce-info,.woocommerce-error{border-radius:var(--r);border:1px solid var(--line);
  background:var(--wash);padding:14px 18px;color:var(--text);border-top:3px solid var(--accent);list-style:none}
.woocommerce-error{border-top-color:var(--red-500,#B23B2E)}
.woocommerce-message{border-top-color:var(--teal,#0EA5A5)}

/* single product */
.woocommerce div.product{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
@media(max-width:820px){.woocommerce div.product{grid-template-columns:1fr;gap:28px}}
.woocommerce div.product .woocommerce-product-gallery{margin:0}
.woocommerce div.product .woocommerce-product-gallery__wrapper img{border-radius:var(--r-lg);border:1px solid var(--line)}
.woocommerce div.product .product_title{font-size:clamp(1.8rem,3vw,2.4rem);letter-spacing:-.02em}
.woocommerce div.product .woocommerce-product-details__short-description{color:var(--muted);line-height:1.9}
.woocommerce div.product form.cart{margin:24px 0}
.woocommerce div.product form.cart .quantity input{border:1px solid var(--line-2);border-radius:var(--r);min-height:50px;background:var(--surface);color:var(--text);padding:8px 10px}
.woocommerce .product_meta{font-size:var(--fs-sm);color:var(--muted);margin-top:18px}
.woocommerce div.product .woocommerce-tabs{grid-column:1 / -1;margin-top:24px}
.woocommerce div.product .woocommerce-tabs ul.tabs{border:0;padding:0;display:flex;gap:6px;flex-wrap:wrap}
.woocommerce div.product .woocommerce-tabs ul.tabs::before{display:none}
.woocommerce div.product .woocommerce-tabs ul.tabs li{background:var(--wash);border:1px solid var(--line);border-radius:var(--r-pill);margin:0}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{background:var(--ink);border-color:var(--ink)}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{color:var(--text);font-weight:600;padding:10px 20px}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:#fff}
.woocommerce table.shop_attributes{border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.woocommerce table.shop_attributes th{background:var(--wash);color:var(--muted)}
.woocommerce .related.products,.woocommerce .upsells.products{grid-column:1 / -1;margin-top:24px}
.woocommerce .related.products>h2,.woocommerce .upsells.products>h2{font-size:var(--fs-h3);margin-bottom:24px}

/* cart / checkout tables */
.woocommerce table.shop_table{border:1px solid var(--line);border-radius:var(--r-lg);border-collapse:separate;overflow:hidden}
.woocommerce table.shop_table th{background:var(--wash)}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce .select2-container--default .select2-selection{
  border:1px solid var(--line-2);border-radius:var(--r);min-height:48px;background:var(--surface);color:var(--text)}

/* =========================================================
   WooCommerce grids — BUGFIX (phantom ::before/::after grid
   cells that hid the first item + added an extra row) + nicer
   product & category cards. Applies to homepage shortcodes,
   shop, archives — everywhere.
   ========================================================= */
.woocommerce ul.products::before,.woocommerce ul.products::after,
ul.products::before,ul.products::after{content:none!important;display:none!important}

.woocommerce ul.products,ul.products{
  display:grid!important;grid-template-columns:repeat(4,1fr);gap:22px;margin:0;padding:0;list-style:none}
@media(max-width:1000px){.woocommerce ul.products,ul.products{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.woocommerce ul.products,ul.products{grid-template-columns:repeat(2,1fr);gap:14px}}
@media(max-width:460px){.woocommerce ul.products,ul.products{grid-template-columns:1fr}}
.woocommerce ul.products li.product,.woocommerce ul.products li.product-category{
  width:auto!important;margin:0!important;float:none!important;padding:0!important}

/* product card */
.woocommerce ul.products li.product{
  background:var(--surface);border:1px solid var(--line);border-radius:16px;overflow:hidden;
  display:flex;flex-direction:column;position:relative;text-align:right;
  transition:transform .3s cubic-bezier(.22,1,.36,1),box-shadow .3s,border-color .3s}
.woocommerce ul.products li.product:hover{transform:translateY(-5px);box-shadow:0 18px 40px rgba(15,26,42,.10);border-color:var(--line-2)}
.woocommerce ul.products li.product a img{margin:0!important;border-radius:0;width:100%;aspect-ratio:1/1;object-fit:cover;display:block}
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-size:.95rem;font-weight:600;color:var(--ink);padding:14px 16px 0!important;line-height:1.7;min-height:3.4em}
.woocommerce ul.products li.product .price{padding:6px 16px 0;color:var(--ink);font-weight:800;font-size:1.05rem;margin:0}
.woocommerce ul.products li.product .price del{color:var(--faint);font-weight:500;font-size:.85rem;opacity:1}
.woocommerce ul.products li.product .price ins{text-decoration:none}
.woocommerce ul.products li.product .star-rating{margin:8px 16px 0;font-size:.8rem}
.woocommerce ul.products li.product .button,.woocommerce ul.products li.product .added_to_cart{
  margin:14px 16px 16px!important;margin-top:auto!important;text-align:center;display:block;
  background:var(--accent)!important;color:#fff!important;border-radius:999px!important;
  font-weight:700!important;padding:11px 18px!important;font-size:.85rem!important;transition:background .25s,transform .2s}
.woocommerce ul.products li.product .button:hover,.woocommerce ul.products li.product .added_to_cart:hover{
  background:#1e40af!important;transform:translateY(-1px)}
.woocommerce ul.products li.product .onsale{
  position:absolute!important;top:12px;inset-inline-start:12px;z-index:2;background:#e11d48;color:#fff;
  border-radius:999px;padding:4px 12px;font-size:.7rem;font-weight:700;min-height:auto;line-height:1.5;margin:0}

/* category card */
.woocommerce ul.products li.product-category{
  background:var(--surface);border:1px solid var(--line);border-radius:16px;overflow:hidden;
  transition:transform .3s,box-shadow .3s}
.woocommerce ul.products li.product-category:hover{transform:translateY(-4px);box-shadow:0 14px 32px rgba(15,26,42,.08)}
.woocommerce ul.products li.product-category a{text-align:center;display:block}
.woocommerce ul.products li.product-category img{width:100%;aspect-ratio:1/1;object-fit:cover;margin:0!important}
.woocommerce ul.products li.product-category h2{
  font-size:.95rem!important;font-weight:600;color:var(--ink);padding:14px 10px 2px!important;margin:0!important}
.woocommerce ul.products li.product-category .count{
  display:block;padding:0 10px 14px;color:var(--faint);font-size:.8rem;background:transparent}

/* =========================================================
   Auto-scrolling product carousel  [felora_carousel]
   ========================================================= */
.felora-carousel-sec{margin-block:6px}
.fc-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}
.fc-heading{font-size:1.5rem;font-weight:800;color:var(--ink);margin:0}
.fc-all{font-size:.85rem;font-weight:700;color:var(--accent);white-space:nowrap}
.fc-all:hover{color:#1e40af}
.felora-carousel{overflow:hidden;position:relative;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent);
          mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent)}
.fc-track{display:flex;gap:18px;width:max-content;animation:fc-marquee var(--fc-dur,40s) linear infinite}
.felora-carousel:hover .fc-track{animation-play-state:paused}
@keyframes fc-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.fc-card{flex:0 0 210px;background:var(--surface);border:1px solid var(--line);border-radius:14px;overflow:hidden;
  display:flex;flex-direction:column;transition:transform .3s cubic-bezier(.22,1,.36,1),box-shadow .3s,border-color .3s}
.fc-card:hover{transform:translateY(-5px);box-shadow:0 16px 36px rgba(15,26,42,.12);border-color:var(--line-2)}
.fc-img{position:relative;aspect-ratio:1/1;overflow:hidden;background:var(--wash-2)}
.fc-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s var(--ease,ease)}
.fc-card:hover .fc-img img{transform:scale(1.06)}
.fc-badge{position:absolute;top:9px;inset-inline-start:9px;background:#e11d48;color:#fff;
  border-radius:999px;padding:3px 10px;font-size:.66rem;font-weight:700}
.fc-body{padding:12px 13px 14px;display:flex;flex-direction:column;gap:6px;flex:1;text-align:right}
.fc-title{font-size:.8rem;font-weight:600;color:var(--ink);line-height:1.65;margin:0;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.7em}
.fc-price{margin-top:auto;font-weight:800;color:var(--ink);font-size:.88rem}
.fc-price del{color:var(--faint);font-weight:500;font-size:.74rem;margin-inline-end:5px;opacity:1}
.fc-price ins{text-decoration:none}
/* few products → static centered row (no marquee, no bug) */
.fc-static{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}
.fc-static .fc-card{flex:0 0 210px}
@media(max-width:600px){.fc-card{flex-basis:160px}}
@media(prefers-reduced-motion:reduce){.felora-carousel{overflow-x:auto}.fc-track{animation:none}}

/* =========================================================
   Blog grid  [felora_posts]
   ========================================================= */
.felora-posts{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
@media(max-width:820px){.felora-posts{grid-template-columns:1fr}}
.fp-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;overflow:hidden;
  box-shadow:0 2px 6px rgba(14,21,36,.04);transition:transform .3s,box-shadow .3s;display:flex;flex-direction:column}
.fp-card:hover{transform:translateY(-4px);box-shadow:0 16px 34px rgba(14,21,36,.10)}
.fp-im{aspect-ratio:16/10;position:relative;overflow:hidden}
.fp-im img,.fp-im i{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s}
.fp-card:hover .fp-im img{transform:scale(1.05)}
.fp-bd{padding:18px}
.fp-m{font-size:.72rem;font-weight:700;letter-spacing:.08em;color:var(--accent);margin-bottom:8px}
.fp-card h4{font-size:1rem;font-weight:700;line-height:1.6;color:var(--ink);margin:0}
.fp-card p{font-size:.85rem;color:var(--muted);margin:8px 0 0;line-height:1.8;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.fp-meta{margin-top:12px;font-size:.75rem;color:var(--faint)}

/* =========================================================
   Curated category tiles  [felora_categories]
   ========================================================= */
.felora-cats{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px}
@media(max-width:820px){.felora-cats{grid-template-columns:repeat(auto-fill,minmax(110px,1fr))}}
.fcat{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--surface);text-align:center;
  display:block;transition:transform .3s,box-shadow .3s,border-color .3s}
.fcat:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(14,21,36,.09);border-color:var(--line-2)}
.fcat-im{aspect-ratio:1/1;position:relative;overflow:hidden;background:var(--wash-2)}
.fcat-im img,.fcat-im i{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .4s}
.fcat:hover .fcat-im img{transform:scale(1.06)}
.fcat b{display:block;font-size:.82rem;font-weight:600;color:var(--ink);padding:12px 6px}

/* Fix: Elementor Shortcode widget can shrink to 0 width, collapsing our
   1fr grids (blog / category tiles). Force the wrapper + grids full width. */
.elementor-widget-shortcode .elementor-shortcode{display:block;width:100%}
.felora-posts,.felora-cats,.felora-carousel-sec{width:100%}
.felora-posts{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:820px){.felora-posts{grid-template-columns:1fr}}

/* Seamless RTL infinite marquee: run the scroll mechanics in LTR so
   translateX(-50%) never leaves a blank; keep card text RTL. */
.felora-carousel{direction:ltr}
.fc-card{direction:rtl}
/* Smaller section headings */
h2.elementor-heading-title{font-size:1.7rem!important;line-height:1.35}
.felora-carousel-sec .fc-heading{font-size:1.35rem!important}
