/*
Theme Name: 100 Rose BD
Theme URI: https://100rosebd.com/
Author: 100 Rose BD
Author URI: https://100rosebd.com/
Description: A clean, conversion-focused WooCommerce theme for flower & gift stores. Includes cart drawer and modern Cart page.
Version: 1.0.0
Text Domain: hundredrose
Tags: woocommerce, elementor, ecommerce, responsive, minimal
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
*/

/* =========================================
   Brand Tokens (100 Rose BD)
   ========================================= */
:root{
  /* Brand Kit */
  --red:#D32F2F;             /* Primary Red */
  --pink:#F8BBD0;            /* Romantic Pink */
  --rose-gold:#B76E79;       /* Rose Gold Accent */
  --white:#FFFFFF;           /* Elegant White */
  --soft:#F2F2F2;            /* Soft Gray */
  --charcoal:#212121;        /* Deep Charcoal */

  --radius:16px;
  --shadow:0 8px 24px rgba(0,0,0,.08);

  /* Typo (fallbacks — Google Fonts enqueued in functions.php) */
  --ff-heading:"Montserrat", system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
  --ff-display:"Playfair Display", Georgia, "Times New Roman", serif;
  --ff-body:"Open Sans", system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;

  /* Semantic */
  --bg:#faf7f5;
  --ink:var(--charcoal);
  --muted:#6b7280;
  --line:#e5e7eb;

  /* Buttons */
  --btn-bg:var(--red);
  --btn-text:#fff;
  --btn-radius:999px;
}

/* Theme-scoped aliases (অন্য CSS ফাইলগুলির সাথে মিল রাখার জন্য) */
:root{
  --hr-red:var(--red);
  --hr-pink:var(--pink);
  --hr-rose:var(--rose-gold);
  --hr-white:var(--white);
  --hr-soft:var(--soft);
  --hr-charcoal:var(--charcoal);
}

/* =========================================
   Base Reset / Typography
   ========================================= */
html,body{margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  color:var(--ink);
  background:var(--bg);
  font-family:var(--ff-body);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

img,svg,video,canvas{max-width:100%;height:auto}
img{display:block}
a{color:inherit;text-decoration:none}
a:hover{color:var(--red)}
hr{border:0;border-top:1px solid var(--line);margin:24px 0}

/* Headings */
h1,h2,h3,h4,h5,h6{font-family:var(--ff-heading); color:var(--ink); margin:0 0 .6em}
h1{font-size:clamp(28px,3.2vw,40px);line-height:1.2}
h2{font-size:clamp(22px,2.4vw,28px);line-height:1.25}
h3{font-size:clamp(18px,2vw,22px);line-height:1.3}

/* Display title (e.g., product names/slogans) */
.display{font-family:var(--ff-display);}

/* Utility containers/sections */
.container{max-width:1140px;margin:0 auto;padding:0 20px}
.section{padding:48px 0}

/* =========================================
   Buttons (global)
   ========================================= */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:12px 20px;border-radius:var(--btn-radius);
  border:1px solid transparent; cursor:pointer; text-decoration:none;
  background:var(--btn-bg); color:var(--btn-text); font-weight:700;
  box-shadow:var(--shadow); transition:filter .15s ease, transform .02s ease;
}
.btn:hover{filter:brightness(.95)}
.btn:active{transform:translateY(1px)}
.btn-sm{height:36px;padding:0 14px;font-size:14px}
.btn-lg{height:52px;padding:0 22px;font-size:16px}
.btn-outline{background:#fff;color:var(--ink);border-color:var(--line)}
.btn-outline:hover{border-color:var(--red);color:var(--red)}
.btn-light{background:#fff;color:var(--ink);box-shadow:none;border:1px solid var(--line)}

/* Badges / Pills */
.badge{display:inline-block;padding:4px 10px;border-radius:999px;font-weight:700;font-size:12px}
.badge-sale{background:var(--red);color:#fff}
.badge-new{background:var(--rose-gold);color:#fff}

/* =========================================
   Forms
   ========================================= */
input[type="text"],input[type="email"],input[type="tel"],input[type="search"],
input[type="number"],input[type="password"],select,textarea{
  width:100%; border:1px solid var(--line); border-radius:12px;
  background:#fff; color:var(--ink);
  padding:10px 12px; font-size:14px; line-height:1.4; outline:0;
}
textarea{min-height:120px;resize:vertical}
input:focus,select:focus,textarea:focus{
  border-color:#f9cbd4; outline:2px solid #fde2e7;
}

/* =========================================
   WordPress Core / Blocks
   ========================================= */
.alignnone{margin:0 0 1.2em}
.aligncenter,div.aligncenter{display:block;margin:1.2em auto;text-align:center}
.alignright{float:right;margin:0 0 1.2em 1.2em}
.alignleft{float:left;margin:0 1.2em 1.2em 0}
.wp-caption{max-width:100%}
.wp-caption img{margin:0}
.wp-caption .wp-caption-text{font-size:13px;color:var(--muted);margin-top:6px}
.wp-block-image img{height:auto}
.wp-block-separator{border-top:1px solid var(--line)}
.wp-block-button__link{border-radius:var(--btn-radius)}

/* Wide/Full content */
.wp-block{max-width:750px}
.wp-block[data-align="wide"], .alignwide{max-width:1140px}
.wp-block[data-align="full"], .alignfull{max-width:none}

/* Screen reader only (accessibility) */
.screen-reader-text{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;
}
.screen-reader-text:focus{
  position:static;width:auto;height:auto;margin:0;clip:auto;white-space:normal;background:#fff;padding:10px;border-radius:8px;border:1px solid var(--line);
}

/* =========================================
   Tables, lists
   ========================================= */
table{width:100%;border-collapse:collapse}
th,td{padding:10px;border-bottom:1px solid var(--line);text-align:left}
ul,ol{margin:0 0 1.2em 1.2em}

/* =========================================
   WooCommerce Minimal Skin (portable defaults)
   ========================================= */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce .button{
  display:inline-flex;align-items:center;justify-content:center;
  gap:8px; padding:10px 16px; border-radius:12px; border:1px solid transparent;
  background:var(--red); color:#fff; font-weight:700; cursor:pointer;
}
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt{ background:var(--red); color:#fff }

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover{ filter:brightness(.95) }

.woocommerce-message,
.woocommerce-info,
.woocommerce-error{
  border-radius:12px; border:1px solid var(--line);
  background:#fff; box-shadow:var(--shadow); padding:12px 14px;
}
.woocommerce-error{border-color:#fecdd3;background:#fff1f2}
.woocommerce-message{border-color:#a7f3d0;background:#ecfdf5}
.woocommerce-info{border-color:#e0e7ff;background:#eef2ff}

/* Quantity input small tidy */
.qty{min-width:60px;text-align:center}

/* Notices list spacing */
.woocommerce-notices-wrapper{margin:12px 0}

/* Mini utility */
.text-muted{color:var(--muted)}
.text-center{text-align:center}
.mt-0{margin-top:0}.mt-1{margin-top:8px}.mt-2{margin-top:12px}.mt-3{margin-top:16px}.mt-4{margin-top:24px}
.mb-0{margin-bottom:0}.mb-1{margin-bottom:8px}.mb-2{margin-bottom:12px}.mb-3{margin-bottom:16px}.mb-4{margin-bottom:24px}

/* =========================================
   Global helpers used across theme parts
   ========================================= */
.h1,.hero-title{font-family:var(--ff-heading);font-weight:700}
.h2{font-family:var(--ff-heading);font-weight:700;margin:0 0 16px}

/* Links that should look like buttons */
.link-btn{color:#fff;background:var(--red);padding:8px 12px;border-radius:10px;display:inline-flex;font-weight:700}
.link-btn:hover{filter:brightness(.95)}



/* Breadcrumbs */
.hr-breadcrumbs{font-size:13px;color:#64748b;margin-bottom:10px}
.hr-breadcrumbs a{color:inherit;text-decoration:none}
.hr-breadcrumbs a:hover{color:var(--red)}

/* Page */
.hr-page__title{font-family:'Montserrat',sans-serif;font-weight:800;margin:0 0 12px}
.hr-page__thumb img{border-radius:16px;box-shadow:var(--shadow);margin:8px 0 18px}
.hr-edit a{display:inline-block;margin-top:12px;font-size:13px;border:1px solid var(--line);padding:6px 10px;border-radius:10px}
.hr-edit a:hover{border-color:var(--red);color:var(--red)}


/* Grid & card */
.hr-grid{display:grid;gap:18px}
.hr-grid-4{grid-template-columns:repeat(4,1fr)}
@media(max-width:1024px){.hr-grid-4{grid-template-columns:repeat(3,1fr)}}
@media(max-width:768px){.hr-grid-4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.hr-grid-4{grid-template-columns:1fr}}

.hr-card{background:#fff;border:1px solid #eee;border-radius:16px;box-shadow:var(--shadow);padding:12px;display:flex;flex-direction:column}
.hr-thumb img{width:100%;height:auto;border-radius:12px}
.hr-card__title{font-family:'Montserrat',sans-serif;font-weight:700;margin:10px 0 6px;font-size:18px}
.hr-card__title a{color:var(--charcoal);text-decoration:none}
.hr-card__title a:hover{color:var(--red)}
.hr-card__meta{font-size:12px;color:#6b7280;display:flex;align-items:center;gap:8px;margin-bottom:6px}
.hr-card__excerpt{color:#374151;margin-bottom:10px}
.btn.btn--sm{padding:10px 14px;border-radius:999px;font-size:14px;line-height:1;background:var(--red);color:#fff;text-decoration:none;display:inline-flex;justify-content:center}
.btn.btn--sm:hover{filter:brightness(.95)}

/* Empty state */
.hr-empty{padding:24px;border:1px dashed #e5e7eb;border-radius:14px;background:#fff}
.hr-empty__search{display:flex;gap:8px;margin-top:10px}
.hr-empty__search input{flex:1;border:1px solid #e5e7eb;border-radius:10px;padding:10px}
